]> code.delx.au - gnu-emacs/commitdiff
Split pre-21.1 changes into ChangeLog.9.
authorEli Zaretskii <eliz@gnu.org>
Sat, 9 Mar 2002 09:30:18 +0000 (09:30 +0000)
committerEli Zaretskii <eliz@gnu.org>
Sat, 9 Mar 2002 09:30:18 +0000 (09:30 +0000)
src/ChangeLog
src/ChangeLog.9 [new file with mode: 0644]

index 5ae6ce6ebf5856b839fab4eac59e15e8aada3889..104089aa56660891778a463357533fa821d0f4e9 100644 (file)
        * frame.c: Change doc-string comments to `new style' [w/`doc:'
        keyword].
 
-2001-10-20  Gerd Moellmann  <gerd@gnu.org>
-
-       * (Version 21.1 released.)
-
-2001-10-20  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
-
-       * 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.
-
-2001-10-15  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
-
-       * 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).
-
-2001-10-15  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
-
-       * 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.
-
-2001-10-15  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
-
-       * 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.
-
-2001-10-15  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
-
-       * 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.
-
-2001-10-14  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
-
-       * lisp.h (Ftop_level): Add prototype.
-
-       * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
-       (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\".
-
-2001-10-12  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
-
-       * 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>.
-
-2001-10-08  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
-
-       * 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.
-
-2001-10-08  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
-
-       * 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.
-       Requested by Francois Pinard.  XEmacs has it.  Added to NEWS.
-
-       * 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.
-
-       * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
-       (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)
-       (Fprevious_char_property_change): Remove reference to non-existant
-       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.
-
-2001-09-28  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
-
-       * 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
-       get-char-property to obtain the help-echo from the string's buffer
-       (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.
-
-2001-08-06  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
-
-       * 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.
-
-       * lisp.h (XVECTOR): Verify correct object type before returning a
-       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.
-
-       * term.c: (tty_cursor_hidden): New variable.
-       (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.
-
-2001-03-28  Paul Eggert <eggert@twinsun.com>
-
-       * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
-       microseconds calcuation.  Avoid double-rounding problem.
-       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.
-
-       * xdisp.c  Use make_number, for readability.
-       (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.
-
-       * emacs.c (malloc_initialize_hook): Handle case thet `environ'
-       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.
-       (x_display_and_set_cursor): Check for the focus frame's selected
-       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.
-       (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
-       (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,
-       return FONTANME.  New argument FORCE if nonzero cancel that feature.
-       (fontset_font_pattern): Call font_family_registry with FORCE 1 for
-       a signle byte character.  Don't set FAMILY part to nil here.
-       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>
-
-       * ccl.h (sturct ccl_program): New member suppress_error.
-
-       * 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.
-       (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
-       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>
-
-       * keyboard.c (Fread_key_sequence_vector):  Avoid newline in
-       arglist, for documentation's sake.
-
-2001-01-06  Andrew Innes  <andrewi@gnu.org>
-
-       * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
-       of *.pdb.
-
-2001-01-05  Andrew Innes  <andrewi@gnu.org>
-
-       * term.c (update_end): Don't check updating_frame; for some reason
-       this can be 0 sometimes, such as after dismissing a popup menu,
-       and isn't necessary given the explicit frame argument.
-
-2001-01-05  Gerd Moellmann  <gerd@gnu.org>
-
-       * sysdep.c: Don't prototype srandom; it takes an unsigned argument
-        on some systems, and an unsigned long on others, like FreeBSD 4.1.
-
-2001-01-04  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
-
-       * xfns.c (x_create_tip_frame): Preserve the value of
-       face_change_count around the creation of the tip frame.
-
-       * xfns.c (last_show_tip_args): New variable.
-       (compute_tip_xy): New function.
-       (Fx_show_tip): Reuse an existing tip frame, if possible.
-       (syms_of_xfns): Initialize and staticpro last_show_tip_args.
-
-2001-01-04  Dave Love  <fx@gnu.org>
-
-       * editfns.c (Fformat): Doc fix.
-
-       * systime.h (set_file_times): Prototype.
-
-       * widget.h (EmacsFrameSetCharSize_): Prototype.
-
-       * sysdep.c (random, srandom): Declare explicitly.
-
-       * dispextern.h (move_it_vertically_backward): Declare.
-
-2001-01-04  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
-       like in Fx_create_frame.
-
-       * xfaces.c (set_font_frame_param): Don't do anything for
-       non-graphical frames.
-
-       * window.c (Fdelete_other_windows): Set window's window_end_valid
-       to nil when changing the window's start.  Don't change the
-       window's start when its top position hasn't changed.  If we do,
-       this will set the window's optional_new_start, which act's like a
-       force_start during redisplay with C-x 1 M-> under particular
-       circumstances (see report from Per Starback to emacs-pretest-bug
-       from 2000-12-13.).
-
-2001-01-03  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
-       short cut at the start of the function.  Add an assertion.
-       (reseat_at_next_visible_line_start): Add an assertion.
-
-       * window.c (Frecenter): When changing the window start, set the
-       window's window_end_valid to nil.
-       (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
-
-       * dispextern.h (move_it_past_eol): Add prototype.
-
-       * xdisp.c (move_it_past_eol): New function.
-
-       * window.c (Fwindow_end): Doc fix.
-
-2001-01-03  Dave Love  <fx@gnu.org>
-
-       * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
-
-2001-01-03  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
-       the enabled_p flag of the glyph row at window_end_vpos to 0.
-       (handle_single_display_prop): Fix last change.
-
-2001-01-02  Richard M. Stallman  <rms@caffeine.ai.mit.edu>
-
-       * window.c (Frecenter): Doc fix.
-
-2001-01-02  Andrew Innes  <andrewi@gnu.org>
-
-       * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
-
-       * frame.h (output_method): Add output_w32_console method.
-       (FRAME_W32_CONSOLE_P): New macro.
-
-       * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
-       use output_w32_console method.
-       (Qw32_console): New Lisp_Object.
-       (Fframep): Return it.
-       (syms_of_frame): Init it.
-       (Fframe_parameters): Report w32console as font for w32_console frames.
-
-       * xfaces.c (realize_default_face): Set face foreground and
-       background to unspecified for w32_console frames.
-       (realize_face): Realize face cache for w32_console frames.
-       (realize_tty_face): Accept w32_console frames.
-
-       * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
-       (init_iterator) [WINDOWSNT]: Initialize frame face cache if
-       necessary, even if running interactively.
-
-       * dispnew.c (Fredraw_frame): Call set_terminal_modes for
-       w32_console frames.
-
-       * w32term.c (x_update_begin):
-       (x_update_end):
-       (x_clear_frame):
-       (x_ins_del_lines):
-       (x_change_line_highlight):
-       (x_delete_glyphs):
-       (w32_ring_bell):
-       (x_update_begin):
-       (x_update_end):
-       (w32_reassert_line_highlight):
-       (w32_frame_rehighlight):
-       (w32_frame_raise_lower): Do nothing if not w32 frame.
-
-       * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
-
-       * w32fns.c (Fx_display_color_cells): Determine correct value, when
-       system doesn't tell us directly.
-       (Fx_display_visual_class): Implement properly.
-
-2001-01-02  Gerd Moellmann  <gerd@gnu.org>
-
-       * window.c (Frecenter): Handle centering in graphical frames
-       specially.  Centering on the basis of line counts doesn't work
-       reliably with variable-height lines.
-
-2001-01-02  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
-       and al[].
-
-       * composite.c (run_composition_function): Remove unused var `val'.
-       (update_compositions): Remove unused variable `hook'.
-
-       * intervals.c (get_local_map): Remove unused variable `tem'.
-
-       * doprnt.c (doprnt1): Remove unused variable `size'.
-
-       * fns.c (Flength): Remove unused variable `tail'.
-       (Fdelete): Remove unused variable `size'.
-
-       * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
-       and `gcpro2'.
-
-       * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
-
-       * data.c (find_symbol_value): Remove extra 3rd argument in the
-       call to swap_in_symval_forwarding.
-
-       * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
-
-       * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
-       (trivial_regexp_p): Remove unused variable `c'.
-       (boyer_moore): Remove unused variable `k'.
-
-       * indent.c (current_column): Remove unused variable `stopchar'.
-       (Fcompute_motion): Remove unused variable `contin'.
-
-       * casefiddle.c (casify_object): Remove unused variable `tolen'.
-
-       * dired.c (directory_files_internal): Fix a typo in a comment.
-       Remove an unused variable `handler'.
-       (file_name_completion): Remove unused function-scope variable `dp'.
-       (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
-       on BSD4_2.
-
-       * fileio.c (e_write): Remove unused variable `require_encoding_p'.
-
-       * marker.c (Fmarker_position): Remove unused variables `pos', `i',
-       and `buf'.
-       (Fmarker_insertion_type): Remove unused variable `buf'.
-
-       * insdel.c (make_gap): Remove unused variable `result'.
-
-       * keyboard.c (record_char): Remove unused function-scope var `help'.
-       (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
-       (menu_bar_items): Remove unused function-scope variable `tem'.
-
-       * fontset.c (fontset_ref): Remove unused variable `i'.
-       (fontset_set): Remove unused variables `j' and `tmp'.
-       (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
-       (make_fontset_for_ascii_face): Remove unused variable `name'.
-       (fs_load_font): Remove unused variable `font_idx'.
-       (fs_query_fontset): Remove unused function-local variable `fontset'.
-       (list_fontsets): Remove unused variable `tail'.
-       (Fnew_fontset): Remove unused variables `family' and `registry'.
-       (accumulate_font_info): Remove unused variable `tmp'.
-       (Ffontset_font): Remove unused variable `id'.
-       (syms_of_fontset): Remove unused variable `i'.
-
-       * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
-       to x_term_init.
-       (lookup_image): Remove unused variable `file'.
-       (xbm_load): Remove unused variables `bitmap_data', `height', and
-       `width'.  Remove function-local variable `i', leave the
-       block-local one.
-       (gif_load): Remove unused variable `inc'.
-
-       * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
-       (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
-       leave only the one in the inner block.
-
-       * xfaces.c (face_fontset, realize_default_face): Remove unused
-       variable `fontset'.
-       (face_at_buffer_position): Remove unused variable `multibyte_p'.
-
-       * term.c (encode_terminal_code): Remove unused variable `c'.
-
-       * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
-       char *' instead of `char *'.
-
-       * category.c (Fcategory_docstring): Remove unused variable `doc'.
-       (Fget_unused_category): Remove unused variable `docstring_vector'.
-       (Fchar_category_set): Remove unused variables `val', `charset',
-       `c1' and `c2'.
-
-       * coding.c (detect_coding_iso2022, setup_coding_system):
-       Remove unused variable `i'.
-       (detect_coding_mask): Remove unused variable `idx'.
-       (detect_coding): Remove unused variable `i'.
-       (ccl_coding_driver): Remove unused variable `result'.
-       (run_pre_post_conversion_on_str): Remove unused variable `prev'.
-       (decode_coding_string): Remove unused variables `to' and `gcpro1'.
-       (encode_coding_string): Remove unused variables `gcpro1' and
-       `saved_coding_symbol'.
-       (Ffind_coding_systems_region_internal): Remove function-local
-       variable args[], leave only the block-local one.
-       (code_convert_region1): Remove unused variable `len'.
-
-       * charset.c (char_printable_p): Remove unused variable `chars'.
-       (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
-       (str_to_multibyte): Remove unused variable `c'.
-
-       * window.c (size_window): Remove block-local variable `min_size'.
-
-       * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
-       `header_line_height'.
-       (append_space, extend_face_to_end_of_line): Declare `saved_what'
-       enum display_element_type.
-
-2001-01-02  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (x_connection_closed): Catch X errors around all
-       statements that call X.  Save away the error message in a local copy.
-
-       * xterm.c (x_connection_closed): Set handling_signal to 0 at
-       the start.
-
-       * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
-       in or at the start of invisible text.
-
-       * dispnew.c (update_window): Don't check_current_matrix_flags.
-
-2001-01-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c (x_figure_window_size): Do not allow new_height and
-       new_width of frame to override specified values.
-
-2000-12-30  Kenichi Handa  <handa@etl.go.jp>
-
-       * composite.c (find_composition): Fix a code for searching backward.
-
-2000-12-29  Gerd Moellmann  <gerd@gnu.org>
-
-       * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
-       (update_window) [GLYPH_DEBUG]: Call it.
-       (scrolling_window): Prevent including current rows which are below
-       what's displayed in the window.
-
-       * xdisp.c (try_window_reusing_current_matrix)
-       <new start <= old start>:  Disable rows in the current matrix
-       which are below the window after scrolling.
-
-       * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
-       is zero.  It's not worth the complexity.
-       (invisible_text_between_p): Put in #if 0 because unused.
-
-2000-12-28  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfns.c (Fx_backspace_delete_keys_p): Check library and server
-       XKB versions.  Call XkbFreeKeyboard with 2nd arg 0.
-
-       * keyboard.c (echo_char): If C is an integer, always call
-       push_key_description.  Former code could signal an invalid
-       character error.
-
-       * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
-       If set, print multibyte text.
-       (Fsingle_key_description): Call push_key_description with
-       FORCE_MULTIBYTE set.
-       (describe_buffer_bindings): Likewise.
-
-       * lisp.h (push_key_description): Add prototype.
-
-       * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
-       around the call to redisplay_internal.
-
-       * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
-
-       * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
-
-2000-12-28  Kenichi Handa  <handa@etl.go.jp>
-
-       * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
-       (ccl_driver): New local variable `extra_bytes'.
-
-       * ccl.h (struct ccl_spec): New member eight_bit_carryover.
-
-       * coding.c (setup_coding_system):
-       Initialize coding->spec.ccl.eight_bit_carryover.
-       (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
-
-2000-12-28  Kenichi Handa  <handa@etl.go.jp>
-
-       * coding.c (SAFE_ONE_MORE_BYTE): New macro.
-       (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
-       (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
-       (decode_composition_emacs_mule): New function.
-       (decode_coding_emacs_mule): Decode composition sequence by calling
-       decode_composition_emacs_mule.
-       (ENCODE_COMPOSITION_EMACS_MULE): New macro.
-       (encode_coding_emacs_mule): Changed from macro to function.
-       If a text contains compositions, encode them correctly.
-       (setup_coding_system): Set coding->commong_flags for emacs-mule so
-       that decoding and encoding are required.
-
-2000-12-27  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfaces.c (PT_PER_INCH): New macro.
-       (xlfd_point_size): Compute real point size from font's pixel size.
-       (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
-       instead of 72.
-
-       * .gdbinit: Comment out the line pointing to the Lesstif source
-       directory.
-
-       * window.c (Frecenter): Use displayed_window_lines instead
-       of window_internal_height.
-
-       * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
-       instead of x-toolkit-scroll-bars-p.
-       (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
-
-       * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
-       instead of x-toolkit-scroll-bars-p.
-       (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
-
-       * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
-       (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
-       (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
-       New variables.
-       (add_window_display_history, add_frame_display_history)
-       (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
-       (build_frame_matrix_from_leaf_window): Remove unused code.
-       (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
-       redisplay history.
-       (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
-       (update_window) [GLYPH_DEBUG]: Likewise.
-       (syms_of_display): Defsubr dump-redisplay-history.
-
-2000-12-23  Gerd Moellmann  <gerd@gnu.org>
-
-       * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
-       the end of the prompt.  Set echo_after_prompt to the offset
-       of echoptr in echobuf.
-
-       * xdisp.c (init_from_display_pos): Pop until the iterator's
-       stack is empty; there may be frames for stretch or images
-       on the stack.
-
-       * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
-       (save_or_restore_current_matrix): New function for the same
-       purpose, but more efficient.
-       (adjust_frame_glyphs_for_frame_redisplay): Use it.
-
-2000-12-23  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * xdisp.c (syms_of_xdisp): Fix last change.
-
-2000-12-23  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (syms_of_xdisp): Doc fix.
-
-       * xdisp.c (redisplay_window): Remove label restore_buffers;
-       use finish_scroll_bars instead to make sure that scroll bars
-       are redeemed.  If we don't do this, flickering can result from
-       scroll bars being destroyed and recreated.
-
-2000-12-22  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
-       in the wrong colors when the foreground is not black.
-       (expose_window): Don't redraw the window that's currently being
-       updated.
-
-2000-12-22  Gerd Moellmann  <gerd@gnu.org>
-
-       * window.c (size_window): When setting the window's too_small_ok
-       flag, compare old size with minimum size depending on WIDTH_P,
-       don't compare with window_min_width.
-
-       * window.c (delete_window): Simplify somewhat.
-       (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
-       freeing window matrices.  The flag windows_or_buffers_changed is
-       set, so the next redisplay will consider all windows; this should
-       suffice.
-
-2000-12-22  Kenichi Handa  <handa@etl.go.jp>
-
-       * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
-
-       * ccl.h (struct ccl_program): New member cr_consumed.
-
-       * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
-       (CCL_READ_CHAR): Handle EOL conversion here.
-       (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
-
-2000-12-21  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
-
-       * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
-       otherwise tabs of different size compare equal.
-
-       * callint.c (Fcall_interactively): Prevent a compiler warning.
-
-       * print.c (print_unwind): Return nil.
-       (PRINTDECLARE): Initialize all local variables.
-       (print_preprocess): Add a default case.
-
-       * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
-
-       * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
-
-       * window.c (delete_window, Fsplit_window)
-       (Fset_window_configuration): Calls to ensure_frame_matrix removed.
-
-       * dispextern.h (ensure_frame_matrix): Function declaration removed.
-
-       * dispnew.c (ensure_frame_matrix): Removed.
-       (save_frame_matrix, restore_frame_matrix): New functions.
-       (adjust_frame_glyphs_for_frame_redisplay): Use them.
-
-       * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
-       [GLYPH_DEBUG]: Extended to dump glyphs in short form.
-
-2000-12-21  Andrew Innes  <andrewi@gnu.org>
-
-       * w32term.c (x_update_begin): Regenerate the palette here, rather
-       than for each window.
-
-       * w32xfns.c (select_palette): Avoid calling SelectPalette if
-       palette is NULL, since this corrupts memory!  Also get
-       display_info reference from frame.
-
-2000-12-21  Jason Rumney  <jasonr@gnu.org>
-
-       * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
-
-       * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
-       to avoid returning without releasing it.
-
-2000-12-21  Kenichi Handa  <handa@etl.go.jp>
-
-       * keymap.c (push_key_description): Don't convert eight-bit-control
-       and eight-bit-graphic to multibyte character.
-
-       * charset.c (Fmake_char_internal): If CHARSET doesn't have a
-       generic character and CODE1 is nil, return the smallest character
-       in CHARSET.
-
-2000-12-20  Dave Love  <fx@gnu.org>
-
-       * s/osf5-0.h (NSIG): Don't redefine.
-
-2000-12-20  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * keymap.c (where_is_internal): Check ascii_sequence_p rather than
-       excluding menu-bar and tool-bar.
-       (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
-       (menu_item_p): Remove.
-       (where_is_internal_1): Don't ignore menu-items.
-
-2000-12-20  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (hscroll_window_tree): Take window's min_hscroll
-       into account.
-
-       * window.c (make_window): Initialize window's min_hscroll.
-       (Fset_window_hscroll): Set window's hscroll and min_hscroll.
-       (set_window_buffer, temp_output_buffer_show): Set min_hscroll
-       to zero.
-       (struct saved_window): New member min_hscroll.
-       (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
-       (Fset_window_configuration): Set window's min_hscroll.
-       (save_window_save): Save window's min_hscroll.
-       (compare_window_configurations): Compare min_hscroll values.
-
-       * window.h (struct window): New member min_hscroll.
-
-       * keyboard.c (echo_prompt): Prevent a compiler warning.
-
-       * xdisp.c (try_cursor_movement): Fix last change.  The real
-       condition is that PT is at the end of the row, and should
-       be displayed at the start of the next row.
-
-       * xdisp.c (try_cursor_movement): If we end on a partially
-       visible line, end we already decided to scroll, return -1.
-
-       * dispextern.h (ensure_frame_matrix): Add prototype.
-
-       * window.c (delete_window, Fsplit_window)
-       (Fset_window_configuration): Call ensure_frame_matrix.
-
-       * dispnew.c (fake_current_matrices, ensure_frame_matrix):
-       New functions.
-       (adjust_frame_glyphs_for_frame_redisplay): If display has been
-       completed, call fake_current_matrices instead of marking frame
-       garbaged.
-
-2000-12-20  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
-
-2000-12-19  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * fns.c (Frequire): Doc fix.
-
-2000-12-19  Gerd Moellmann  <gerd@gnu.org>
-
-       * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
-
-       * dispnew.c (direct_output_for_insert): Fix check for mini-window
-       currently displaying a message.
-
-       * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
-       xterm.h.
-       (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
-
-2000-12-18  Andrew Innes  <andrewi@gnu.org>
-
-       * w32.c (w32_strerror): New function.
-
-       * w32.h (w32_strerror): New extern.
-
-       * w32fns.c (Fw32_shell_execute): Use it.
-
-2000-12-18  Gerd Moellmann  <gerd@gnu.org>
-
-       * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
-
-2000-12-18  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.c (IT_set_face): Obey inverse_video.
-
-2000-12-18  Kenichi Handa  <handa@etl.go.jp>
-
-       * dired.c (directory_files_internal): Always return decoded filenames.
-
-2000-12-18  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (x_connection_closed): Prevent being called recursively
-       because of an error condition in XtCloseDisplay.
-
-       * xdisp.c (init_iterator): If noninteractive, and the frame's
-       face cache is null, make one.
-
-       * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
-
-       * process.c (wait_reading_process_input): Check for pending
-       input when running timers.
-
-2000-12-18  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
-
-2000-12-18  Kenichi Handa  <handa@etl.go.jp>
-
-       * process.c (read_process_output): Don't run a filter if the code
-       decoder produces nothing but carryover.
-
-2000-12-17  Andrew Innes  <andrewi@gnu.org>
-
-       * w32.c (sys_rename): Only check errno against EEXIST, and not
-       EACCES, when determining whether rename failed because the target
-       exists.  This was resulting in indefinite looping on Windows 9x if
-       the source file was locked by another process.
-
-       * w32fns.c (Ffile_system_info): New function.
-       (syms_of_w32fns): Defsubr it.
-
-2000-12-17  Gerd Moellmann  <gerd@gnu.org>
-
-       * window.c (coordinates_in_window): Fix computation for
-       position on vertical line between mode lines.
-
-       * xfns.c (unwind_create_frame): Return t if frame was deleted.
-       Don't alter tip_frame or tip_window.
-       (unwind_create_tip_frame): Set tip_frame to nil only if frame
-       was deleted.
-
-       * w32fns.c (unwind_create_frame): Return t if frame was deleted.
-       Don't alter tip_frame or tip_window.
-       (unwind_create_tip_frame): Set tip_frame to nil only if frame
-       was deleted.
-
-2000-12-16  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
-       be consistent with the doc string.  Reported by NAKAJIMA Mikio
-       <minakaji@osaka.email.ne.jp>.
-
-2000-12-16  Kenichi Handa  <handa@etl.go.jp>
-
-       * xfaces.c (Vface_ignored_fonts): New variable.
-       (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
-       (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
-
-2000-12-15  Gerd Moellmann  <gerd@gnu.org>
-
-       * dispnew.c (update_window): Detect pending input every nth line
-       updated, i.e. do it depending on real work done, and not on the
-       vpos of the line.
-
-       * xterm.c (expose_window): Don't redraw the window that's
-       currently being updated.
-
-       * window.c (Fset_window_point): Remove test for
-       cursor_in_non_selected_windows.
-
-       * lread.c (read1): Recognize end of file after `\\'.
-
-       * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
-       not unwind_create_frame.
-
-2000-12-15  Dave Love  <fx@gnu.org>
-
-       * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
-       bcopy & al.
-
-       * s/irix6-5.h: #undef bcopy & al here.  Include strings.h.
-
-2000-12-15  Kenichi Handa  <handa@etl.go.jp>
-
-       * coding.c (setup_coding_system): Clear all members of the struct
-       coding_system at first.
-       (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
-       argument.
-       (code_convert_region): Don't override coding->src_multibyte and
-       coding->dst_multibyte.
-
-       * fns.c (Fmd5): Docstring improved.
-
-2000-12-15  Miles Bader  <miles@gnu.org>
-
-       * xdisp.c (window_box_height): Only use mode-line glyph-rows that
-       are actually marked as mode-lines; otherwise use
-       estimate_mode_line_height.
-
-2000-12-14  Gerd Moellmann  <gerd@gnu.org>
-
-       * editfns.c (Fformat): Prevent a buffer overrun when the format
-       specifies a precision.
-
-2000-12-14  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
-       argument is outside the range [2..3].
-
-2000-12-14  Andrew Innes  <andrewi@gnu.org>
-
-       * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
-       nothing to do.  Bind inhibit-quit.
-       (tip_frame): Make it a Lisp_Object.
-       (x_create_tip_frame): Set tip_frame after it has been added to
-       Vframe_list.
-       (Fx_show_tip): Don't set tip_frame here.
-       (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
-       (unwind_create_frame, unwind_create_tip_frame): New functions.
-       (Fx_create_frame, x_create_tip_frame): Handle errors signaled
-       while a frame is only partially constructed.
-
-       * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
-       (x_free_frame_resources): New function.
-       (x_destroy_window): Use it.
-
-2000-12-14  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfns.c (Fx_backspace_delete_keys_p): New function.
-       (syms_of_xfns): Defsubr it.
-
-       * config.in (HAVE_XKBGETKEYBOARD): Add.
-
-2000-12-14  Kenichi Handa  <handa@etl.go.jp>
-
-       * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
-       Always store string in multibyte representation in echobuf.
-       (echo_char): Always store string in multibyte representation in
-       echobuf.
-       (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
-       (read_key_sequence): Adjusted for the change of echo_prompt.
-
-       * fns.c (Fmd5): Docstring improved.
-
-       * lisp.h (detect_coding_system): Prototype adjusted.
-
-       * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
-       (detect_coding_emacs_mule, detect_coding_iso2022,)
-       (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
-       (detect_coding_utf_16, detect_coding_ccl): Make them static.
-       New argument MULTIBYTEP.  Callers changed.
-       (detect_coding_mask, detect_coding_system): New argument
-       MULTIBYTEP.  Callers changed.
-       (decode_coding_string): Set coding->src_multibyte and
-       coding->dst_multibyte before calling detect_coding and detect_eol.
-       Update them after some coding system is detected.
-
-2000-12-13  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
-
-       * keyboard.c (menu_bar_items, tool_bar_items):
-       Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
-
-2000-12-13  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
-       New variables.
-       (unwind_create_frame, unwind_create_tip_frame): New functions.
-       (Fx_create_frame, x_create_tip_frame): Handle errors signaled
-       while a frame is only partially constructed.
-
-       * xterm.h (x_free_frame_resources): Declare.
-
-       * xterm.c (x_free_frame_resources): New function.
-       (x_destroy_window): Use it.
-
-       * dispnew.c (update_window): If do_mouse_tracking is non-nil,
-       don't interrupt the update for pending input initially, i.e.
-       update at least some lines.
-
-       * keyboard.c (do_mouse_tracking): Make externally visible.
-
-       * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
-
-       * xfns.c (gray_bitmap_bits): Declare `char *'.
-
-2000-12-12  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (display_tool_bar_line): Make sure that tool bar
-       lines start with a relief line.
-
-2000-12-12  Dave Love  <fx@gnu.org>
-
-       * window.c (Fdisplay_buffer): Doc fix.
-       (Fwindow_list): Remove unused var.
-
-       * buffer.h (mmap_set_vars): Declare.
-
-       * window.h (Fset_window_point): Declare.
-
-2000-12-12  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.c (fast_find_position): Don't overstep the last window row.
-       (IT_note_mouse_highlight): Initialize portion to -1.  Remove unused
-       variable `area'.  When looking for a row under (X,Y), give up if some
-       of the previous rows is not enabled.
-
-2000-12-12  Gerd Moellmann  <gerd@gnu.org>
-
-       * window.c (Fset_window_point): If displaying cursors in windows
-       other than the selected window, make sure redisplay updates
-       other windows to show the new value of point in the window.
-
-       * dispextern.h (cursor_in_non_selected_windows): Declare extern.
-
-       * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
-       the buffer is the sole visible buffer when in the mini-buffer.
-
-       * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
-       Bind `inhibit-read-only' to t.
-       (unwind_with_echo_area_buffer): Use AREF.
-
-       * xfns.c (Fx_hide_tip): Simplified.
-
-       * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
-       instead of `1'.
-
-       * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
-
-2000-12-11  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfns.c (Fx_hide_tip): Fix last change.
-
-       * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
-       nothing to do.  Bind inhibit-quit.
-       (tip_frame): Make it a Lisp_Object.
-       (x_create_tip_frame): Set tip_frame after it has been added to
-       Vframe_list.
-       (Fx_show_tip): Don't set tip_frame here.
-
-       * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
-
-       * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
-       Lisp_Object.
-
-       * dispextern.h: Change external declaration of tip_frame.
-
-       * keymap.c (Fkey_description): If KEYS is an empty key sequence,
-       return an empty string.
-
-       * xdisp.c (try_cursor_movement): Check update_mode_lines instead
-       of the window's update_mode_line flag, since the former is set by
-       force-mode-line-update, not the latter.  This makes
-       column-number-mode slightly faster.
-
-       * xdisp.c (try_window_id) <all changes above window start>:
-       Set the cursor.
-
-2000-12-11  Paul Eggert  <eggert@twinsun.com>
-
-       * config.in (HAVE_FTELLO): Remove.
-       (HAVE_FSEEKO): Add.
-       (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
-       * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
-       HAVE_FTELLO.
-       * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
-       * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
-
-2000-12-11  Miles Bader  <miles@gnu.org>
-
-       * window.c (displayed_window_lines): Don't round up when
-       converting empty space at bottom to lines.
-       Handle non-newline-terminated final lines properly.
-       (Fwindow_text_height): New function (used to be in lisp).
-       (syms_of_window): Initialize it.
-
-2000-12-09  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * syntax.c (scan_lists): Check that the right quote char has the
-       right Sstring syntax when jumping over strings.
-       (init_syntax_once): Use Smax rather than 13.
-
-2000-12-09  Miles Bader  <miles@gnu.org>
-
-       * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
-       with PARTIALLY, inverting the sense.
-       (window_scroll_pixel_based): Scroll partially visible lines into
-       place if we hit the beginning or end of the buffer.
-       (displayed_window_lines): Don't include partially visible lines.
-       (Fmove_to_window_line): Skip past any partially visible first line.
-
-2000-12-08  Gerd Moellmann  <gerd@gnu.org>
-
-       * keymap.c (current_minor_maps): Use malloc.  Prevent a leak.
-
-       * tparam.c (tparam1): Change the way buffers are reallocated to be
-       portable and less obfuscated.
-
-       * termcap.c (tgetent): Change the way buffers are reallocated to
-       be portable and less obfuscated.
-
-       * macros.c (store_kbd_macro_char): Change the way buffers are
-       reallocated to be portable and less obfuscated.
-
-       * lread.c (read1): Change the way buffers are reallocated to be
-       portable and less obfuscated.
-
-       * doc.c (Fsubstitute_command_keys): Change the way buffers
-       are reallocated so that it is portable.
-
-2000-12-07  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * dosfns.c (Ffile_system_info): New function.
-       (syms_of_dosfns): Defsubr it.
-
-2000-12-07  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * alloc.c (gc_sweep): Add comment.
-
-2000-12-07  Gerd Moellmann  <gerd@gnu.org>
-
-       * sound.c (vox_configure): Change order of ioctls.
-       Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
-       Ignore errors when changing volume.
-       (vox_close): Don't reset the device.
-
-       * process.c (read_process_output): Make sure the process marker's
-       position is valid when the process buffer is changed in
-       after-change functions.  W3 does that.
-
-       * xfns.c (x_free_gcs): New function.
-
-       * xterm.h (x_free_gcs): Add prototype.
-
-       * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
-       freeing GCs here.
-
-       * xterm.c (x_destroy_window): Call x_free_gcs so that
-       resources of non-toolkit X windows will be freed.
-
-2000-12-07  Andrew Innes  <andrewi@gnu.org>
-
-       * w32fns.c (xlfd_charset_of_font): Fix last change.
-
-2000-12-06  Dave Love  <fx@gnu.org>
-
-       * md5.h (__P): Don't define -- it comes from config.h.
-
-       * strftime.c: Change some #if foo to #ifdef foo.
-
-2000-12-06  Andrew Innes  <andrewi@gnu.org>
-
-       * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
-
-       * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
-       (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
-       (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
-
-2000-12-06  Gerd Moellmann  <gerd@gnu.org>
-
-       * alloc.c (gc_sweep): Prevent symbols read during loadup
-       from being freed.
-
-       * xdisp.c (underlying_face_id): New function.
-       (handle_face_prop, face_before_or_after_it_pos): Use it
-       to determine the face ``under'' a string.  Let strings inherit
-       the face of the buffer under them.
-
-       * xfaces.c (face_at_string_position): Update function comment.
-
-       * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
-       matrix if the window's left position has changed; we need to
-       redraw it in this case.
-
-       * dispextern.h (struct glyph_matrix): Add member window_left_x.
-
-       * window.c (coordinates_in_window): Check mouse on mode-line or
-       header-line first.
-
-       * alloc.c (Fgarbage_collect): Dox fix.  Return a list as
-       advertized by the function documentation.
-
-       * window.c (syms_of_window): Doc fix.
-
-       * sound.c (vox_configure): Set volume for left and right channel.
-       (sound_cleanup): Return nil.
-
-       * xdisp.c (move_it_by_lines): Fix paren typo.
-
-       * xterm.c (x_load_font): Don't use the font's max_bounds for
-       computing the height of the font.  If max_bounds' ascent or
-       descent are greater than the font's ascent or descent, this means
-       glyphs overlap, which should be handled now by redisplay.
-
-       * window.c (Veven_window_heights): New variable.
-       (syms_of_window): DEFVAR_LISP it.
-       (Fdisplay_buffer): Check Veven_window_heights before evening the
-       window heights.
-
-2000-12-06  Miles Bader  <miles@gnu.org>
-
-       * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
-       update `default-frame-alist' instead of setting no frame parameters.
-
-2000-12-06  Kenichi Handa  <handa@etl.go.jp>
-
-       * composite.c (update_compositions): Fix typo (use the correct
-       variable).
-
-2000-12-05  Jason Rumney  <jasonr@gnu.org>
-
-       * md5.h: Remove underscores from function declarations.
-       (__attribute__, __alignof__) [!__GNUC__]: Define.
-
-       * md5.c: Delay include of md5.h until after namespace cleaning.
-
-       * makefile.w32-in (fns.o): Depend on md5.h
-       (md5.o): New target.
-       (sunfns.o): Remove.
-
-       * makefile.nt: Likewise.
-
-2000-12-05  Jason Rumney  <jasonr@altavista.net>
-
-       * w32term.c (expose_area): Complete last change.
-
-2000-12-05  Ken Raeburn  <raeburn@gnu.org>
-
-       * minibuf.c: Include intervals.h.
-
-2000-12-05  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (x_produce_glyphs): If a font for a component of
-       a composition is not found, use 1 pixel dot ascent and 0 dot
-       descent value to avoid displaying terribly tall empty boxes.
-       (expose_area): Pass x-coordinate relative to the exposed
-       area to x_draw_glyphs instead of a window-relative coordinate.
-
-2000-12-05  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (next_element_from_ellipsis): Save face before selective
-       display in saved_face_id, and set face_before_selective_p.
-       (reseat_1): Reset face_before_selective_p.
-       (append_space, extend_face_to_end_of_line): If iterator's
-       face_before_selective_p is set, use the face from saved_face_id.
-       (extend_face_to_end_of_line): For tty frames, make sure to
-       use the right face id when producing spaces at the end of
-       the line.
-
-       * dispextern.h (struct it): Add face_before_selective_p.
-
-       * keyboard.c (record_char): Don't record identical help-echo
-       events in recent_keys.
-
-       * xterm.c [USE_X_TOOLKIT]: Close the display.
-       (xim_close_dpy): Handle case that the display has been closed.
-
-       * xterm.c (x_destroy_window): Reset the frame's X window after
-       destroying it.
-
-       * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
-       variable window_width.
-       (line_draw_cost): Fix code skipping over spaces at the end of the
-       line when must_write_spaces is not set.
-       (scrolling_window): Fix code inserting runs in list of all runs.
-
-2000-12-05  Kenichi Handa  <handa@etl.go.jp>
-
-       * coding.c (setup_coding_system): Be sure to initialize
-       coding->category_idx.
-
-2000-12-04  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (PER_CHAR_METRIC): Removed because not used.
-
-       * xterm.c (expose_area): Pass x-coordinate relative to the exposed
-       area to x_draw_glyphs instead of a window-relative coordinate.
-
-       * fileio.c (auto_save_error): Add parameter ERROR.  Show the
-       error in the message.
-
-       * keyboard.c (Fread_key_sequence): Don't start the busy cursor
-       timer after having read a key.  It's not good for code reading
-       several keys in a loop, like an input method.
-
-       * fileio.c (Finsert_file_contents): When VISIT is t, don't
-       record undo information for format-decode.
-
-       * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
-       current buffer is read-only, not if it isn't.
-
-       * keyboard.c (record_char): Record `help-echo' input events
-       in recent_keys only if they display some help.  Don't record
-       `help-echo' events as macro char.
-
-2000-12-04  Richard M. Stallman  <rms@caffeine.ai.mit.edu>
-
-       * editfns.c (save_excursion_restore): Don't move point
-       in another window if it is showing the wrong buffer.
-       Avoid the call to Fwindow_live_p, for speed.
-
-2000-12-04  Kenichi Handa  <handa@etl.go.jp>
-
-       * xfaces.c (struct font_name): New member registry_priority.
-       (split_font_name): Initialize the above member to zero.
-       (concat_font_list): New function.
-       (font_list): Include fonts of all alternative registries.
-       (FONT_POINT_SIZE_QUANTUM): New macro.
-       (better_font_p): Ignore point size difference less than
-       FONT_POINT_SIZE_QUANTUM.  Use registry_prioprity as a last resort.
-
-       * xterm.c (x_produce_glyphs): If a font for a component of
-       a composition is not found, use 1 pixel dot ascent and 0 dot
-       descent value to avoid displaying terribly tall empty boxes.
-
-       * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
-
-2000-12-03  Ken Raeburn  <raeburn@gnu.org>
-
-       * coding.h (code_convert_string1): Declare.
-
-       * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
-
-       * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
-
-2000-12-02  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (w32_bdf_per_char_metric): Dereference pointer
-       correctly for single byte character case.
-       (w32_per_char_metric): Do not try to make any assumptions about
-       the metrics of BDF fonts.
-       (x_estimate_mode_line_height): If `mode-line' face
-       hasn't a font, use that of the frame, as drawing glyphs does.
-       (note_mouse_highlight): Change the cursor shape on the vertical
-       border between windows [not enabled].
-
-       * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
-
-       * w32fns.c (Fx_create_frame): Reintroduce the call to
-       face-set-after-frame-defaults.
-       (Vx_window_horizontal_drag_shape): New variable.
-       (syms_of_xfns): DEFVAR_LISP it.
-       (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
-       enabled].
-
-2000-12-02  Simon Josefsson  <simon@josefsson.org>
-
-       * fns.c (Fmd5): Use a different logic to decide the coding system
-       to use.
-
-       * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
-
-2000-12-02  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
-
-2000-12-01  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (x_calc_absolute_position): Don't subtract menubar's
-       height for YNegative.
-       (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
-       height; also see comment there.
-
-       * window.c (coordinates_in_window): Handle computations for
-       positions on the vertical bar and fringes differently for
-       window-system frames.  Consider some pixels near the vertical bar
-       as on the bar if the frame doesn't have vertical scroll bars.
-       Associate positions between mode or header lines with the
-       right window, the left one.
-
-2000-12-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
-
-       * w32xfns.c (get_frame_dc): Avoid changing the palette on an
-       invalid frame.
-
-2000-12-01  Gerd Moellmann  <gerd@gnu.org>
-
-       * window.c (struct saved_window): Add members orig_top and orig_height.
-       (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
-       (save_window_save, Fset_window_configuration): Save/restore
-       window's orig_top and orig_height.
-
-2000-12-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
-
-       * w32fns.c (x_set_cursor_color): Fix last change.
-
-2000-11-30  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (echo_area_display): If cursor is in the echo area, make
-       sure that the next redisplay displays the minibuffer, so that
-       the cursor will be replaced with what the minibuffer wants.
-
-       * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
-       #ifndef instead of using #if.
-       (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
-       USE_TOOLKIT_SCROLL_BARS is defined.
-
-2000-11-30  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
-       x_display_cursor.
-
-2000-11-30  Gerd Moellmann  <gerd@gnu.org>
-
-       * fns.c (Fmd5): Doc fix.
-
-2000-11-30  Simon Josefsson  <simon@josefsson.org>
-
-       * fns.c (Fmd5): New function.
-       (syms_of_fns): Defsubr md5.
-
-       * Makefile.in (obj): Add md5.o
-
-2000-11-30  Gerd Moellmann  <gerd@gnu.org>
-
-       * md5.h, md5.c: New files, taken from glibc.
-
-       * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
-
-       * xterm.c (x_estimate_mode_line_height): If `mode-line' face
-       hasn't a font, use that of the frame, as drawing glyphs does.
-
-2000-11-29  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * eval.c (Frun_hooks): Allow 0 arguments.
-
-2000-11-29  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
-       is over the menu bar widget, say it's not on the frame.
-
-       * xfns.c (Fx_create_frame): Reintroduce the call to
-       face-set-after-frame-defaults.
-
-       * eval.c (Fsignal): Reset handling_signal.
-
-2000-11-28  Jason Rumney  <jasonr@gnu.org>
-
-       * w32menu.c (add_menu_item): Reset menu item text when changing
-       type to radio button.
-
-2000-11-28  Gerd Moellmann  <gerd@gnu.org>
-
-       * xselect.c: Update copyright.
-
-       * window.c (coordinates_in_window): If on a mode or header line,
-       but sufficiently close to its start, return ``on vertical
-       border''.  This gives us a way to drag windows horizontally when
-       using toolkit scroll bars.
-
-       * xterm.c (note_mouse_highlight): Change the cursor shape
-       on the vertical border between windows.
-
-       * xterm.h (struct x_output): Add member horizontal_drag_cursor.
-
-       * xfns.c (Vx_window_horizontal_drag_shape): New variable.
-       (syms_of_xfns): DEFVAR_LISP it.
-       (x_set_mouse_color): Create frame's horizontal_drag_cursor.
-
-       * textprop.c (text_read_only): New function.
-       (verify_interval_modification): Use it instead of signaling
-       `text-read-only'.  This makes it easier to catch this error
-       with a breakpoint.:
-
-       * xdisp.c (forward_to_next_line_start): Check for newlines,
-       not end of line, which includes CR.
-
-2000-11-28  Kenichi Handa  <handa@etl.go.jp>
-
-       * coding.c (Ffind_coding_systems_region_internal): Be sure to
-       include no-conversion.
-
-2000-11-27  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c (w32_load_system_font): Always mark font as double byte
-       if codepage is unicode.
-
-2000-11-27  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (forward_to_next_line_start): If already on a newline,
-       just consume it to avoid unintended skipping over invisible text below.
-
-       * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
-       `vertical-line', `mode-line' and `header-line' events.
-
-       * xdisp.c (try_window_id): Avoid starting to display in the middle
-        of a character, a TAB for instance.  This is easier than to set
-        up the iterator exactly, and it's not a frequent case, so the
-        additional effort wouldn't really pay off.
-
-2000-11-26  Andrew Choi  <akochoi@i-cable.com>
-
-       * emacs.c (main) [macintosh]: Call syms_of_frame before calling
-       init_window_once.
-
-2000-11-25  Jason Rumney  <jasonr@gnu.org>
-
-       * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
-       Args to window_from_coordinates should be pixel coordinates.
-
-       * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
-       redisplay handles them properly.
-
-2000-11-25  Miles Bader  <miles@gnu.org>
-
-       * indent.c (compute_motion): Keep pos_byte in sync with pos.
-
-2000-11-24  Jason Rumney  <jasonr@gnu.org>
-
-       * w32.c (init_environment): Set LANG environment variable based on
-       locale settings, if not set.
-
-       * w32fns.c (x_set_tool_bar_lines): Clear internal border when
-       making tool bar smaller. When clearing the frame, also
-       clear current matrices. Clear frame when tool bar disappears.
-       Don't use more lines for the tool-bar than is available.
-       (x_change_window_heights): New function.
-
-2000-11-24  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (init_from_display_pos): If POS says we're already after
-        an overlay string ending at POS, make sure to pop the iterator
-        because it will be in front of that overlay string.  When POS is
-        ZV, we've thereby also ``processed'' overlay strings at ZV.
-
-       * xfaces.c (lface_from_face_name): Function comment fix.
-
-2000-11-24  Miles Bader  <miles@gnu.org>
-
-       * xdisp.c (display_menu_bar, display_mode_line): Change the way we
-       apply `mode-line-inverse-video' -- zero means force display using
-       the default face, non-zero means display using the specialized face.
-       (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
-
-2000-11-23  Kenichi Handa  <handa@etl.go.jp>
-
-       * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
-       hard coded `4'.
-
-2000-11-23  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * coding.c (decode_coding_emacs_mule): Fix the case of
-       CODING_EOL_LF, which used uninitialized value of c.
-
-2000-11-23  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
-
-2000-11-22  Gerd Moellmann  <gerd@gnu.org>
-
-       * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
-       buffer object.
-
-       * frame.h (struct frame): Replace desired_tool_bar_items,
-       current_tool_bar_items, n_desired_tool_bar_items,
-       n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
-
-       * frame.c (make_frame): Change initialization of tool bar
-       items accordingly.
-
-       * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
-       Change references to members deleted from struct frame to use the
-       new ones.
-
-       * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
-       references to members deleted from struct frame to use the new ones.
-
-       * dispnew.c (update_frame): Do nothing with frame's tool bar items.
-
-       * alloc.c (mark_object) <frame>: Mark tool bar items differently.
-
-       * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
-       (note_tool_bar_highlight): Change references to members deleted
-       from struct frame to use the new ones.
-
-2000-11-23  Miles Bader  <miles@gnu.org>
-
-       * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
-       the face's inverse-video attribute, rather than overriding it.
-
-2000-11-22  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfns.c (x_set_tool_bar_lines): Clear internal border when
-       making tool bar smaller.
-
-2000-11-22  Dave Love  <fx@gnu.org>
-
-       * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
-
-2000-11-22  Miles Bader  <miles@gnu.org>
-
-       * keyboard.c (Vminibuffer_message_timeout): New variable.
-       (command_loop_1): Use it to determine message timeout.
-       (syms_of_keyboard): Initialize it.
-
-       * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
-
-2000-11-22  Kenichi Handa  <handa@etl.go.jp>
-
-       * sysdep.c: Move the code for declaring h_errno after #include
-       <netdb.h>.
-
-2000-11-21  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
-       the menu bar when the tooltip is unmapped.
-
-       * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
-       sole visible buffer when we're currently in the mini-buffer, and
-       give up if so.
-
-2000-11-21  Jason Rumney  <jasonr@gnu.org>
-
-       * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
-       put on the clipboard.
-       (Fw32_get_clipboard_data): Compare data on clipboard with saved
-       copy of what Emacs last put there. If they are the same, do not
-       use the clipboard copy to avoid losing data due to coding conversions.
-
-2000-11-22  Miles Bader  <miles@gnu.org>
-
-       * minibuf.c (Vminibuffer_prompt_properties): New variable.
-       (syms_of_minibuf): Initialize it.
-       (read_minibuf): Add properties from Vminibuffer_prompt_properties
-       to prompt, don't make read-only.
-
-2000-11-21  Gerd Moellmann  <gerd@gnu.org>
-
-       * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
-       Add BEFORE/AFTER_POTENTIAL_GC.
-
-       * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
-
-       * buffer.c (mmap_free_1): Avoid a compiler warning.
-
-       * term.c, cm.c: Don't try to include termcap.h; see comment there.
-
-2000-11-21  Kenichi Handa  <handa@etl.go.jp>
-
-       * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
-       ... #endif scope.
-
-2000-11-20  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
-       screen supports it.
-
-       * s/gnu-linux.h: Don't use `#cpu'.
-
-       * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
-       not defined in mman.h.
-
-       * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
-       (x_send_scroll_bar_event): Store the window in scroll_bar_windows
-       and store an index in the XClientMessageEvent.  Storing a
-       Lisp_Object or pointer can fail on a 64 bit system, since X only
-       transfers 32 bits.
-       (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
-
-2000-11-20  Dave Love  <fx@gnu.org>
-
-       * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
-
-2000-11-20  Gerd Moellmann  <gerd@gnu.org>
-
-       * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
-
-2000-11-20  Kenichi Handa  <handa@etl.go.jp>
-
-       * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
-       by WIDTH.
-
-       * alloc.c (make_string): Fix previous change.  Be sure to make
-       unibyte string correctly.
-
-2000-11-19  Gerd Moellmann  <gerd@gnu.org>
-
-       * window.c (Fwindow_list): Change parameter list to be XEmacs
-       compatible.
-       (window_list_1): New function.
-       (window_loop): Use it instead of Fwindow_list.
-
-       * sysdep.c (emacs_ospeed): New variable.
-       (toplevel): Don't declare ospeed extern.
-       (init_baud_rate): Use emacs_ospeed instead of ospeed.
-
-       * termcap.c (ospeed): Remove.
-       (tputs) [!emacs]: Remove unused code.
-       (tgetent): Avoid a compiler warning.
-
-       * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
-       (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
-       SCROLL_BAR_X_WIDGET with additional argument DPY.
-
-       * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
-       removed.
-       (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
-       Take the X display as additional argument.
-       (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
-       `Widget' is a pointer type that's not easily stored in Lisp_Object
-       form in a portable way.
-
-       * dispnew.c (update_text_area): Fix last change.
-
-2000-11-18  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c: Use BINDING_STACK_SIZE throughout.
-
-       * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
-       clear current matrices.
-
-       * buffer.c (mmap_enlarge): Don't print a message on stderr
-       if mapping new memory at the end of the existing region fails.
-
-       * dispnew.c (update_text_area): Don't skip over equal glyphs
-       when the last current glyph overlaps the glyph to its right.
-
-2000-11-18  Miles Bader  <miles@gnu.org>
-
-       * xdisp.c (message_log_check_duplicate): Let "..."-detection match
-       lines that *end* with "..." too (that's the most common case!).
-
-2000-11-18  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (resize_mini_window): Temporarily change to the
-       mini-window's buffer if necessary.
-
-       * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
-       the tooltip obscures less text under it.
-
-2000-11-17  Gerd Moellmann  <gerd@gnu.org>
-
-       * puresize.h (BASE_PURESIZE): Increase to 700000.
-
-2000-11-18  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (w32_draw_bitmap): Use face to set colors.
-
-2000-11-17  Dave Love  <fx@gnu.org>
-
-       * lread.c (Fload): Fix #ifdef for pcc.
-
-2000-11-17  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (pos_visible_p): Compute the default character height
-       differently.
-
-2000-11-16  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (pos_visible_p): Handle case that we reach ZV without
-       knowing the line's height; use the default font's height in that case.
-
-       * xfaces.c (weight_table): Add `demi' with the same meaning as
-       `demibold'.
-
-2000-11-16  Kenichi Handa  <handa@etl.go.jp>
-
-       * dispnew.c (null_row): New global static variable.
-       (clear_glyph_row): Delete local static variable null_row.
-
-2000-11-15  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
-       (w32_alloc_lighter_color): Use new brightness calculations from
-       xterm.c. Scale delta to be in the range expected by W32.
-       (w32_draw_relief_rect): Use frame relief colors.
-
-2000-11-15  Gerd Moellmann  <gerd@gnu.org>
-
-       * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
-       (Qinhibit_default_face_x_resources): New variable.
-       (syms_of_frame): Initialize it.
-       (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
-
-       * xdisp.c (pos_visible_p): Improve function comment.
-
-       * lisp.h (BINDING_STACK_SIZE): New macro.
-
-       * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
-       reading the directory if readdir returns null and errno is EAGAIN
-       or EINTR.
-
-2000-11-14  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
-       so setting scroll-step to 1 doesn't defeat scroll-conservatively.
-       Set amount_to_scroll to max of dx and scroll_step so that
-       scroll-conservatively doesn't defeat scroll-step>1.
-       (syms_of_xdisp): Add a hint in scroll-step's docstring to use
-       scroll-conservatively for line-at-a-time scrolling.
-
-2000-11-14  Gerd Moellmann  <gerd@gnu.org>
-
-       * window.c (Fpos_visible_in_window_p): Call pos_visible with
-       extra argument.
-
-       * xdisp.c (current_mode_line_height, current_header_line_height):
-       New variables.
-       (init_xdisp): Initialize them.
-       (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P.  Compute
-       and use exact mode line heights if it is set.
-
-       * lisp.h (pos_visible_p): Change prototype.
-
-       * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
-       (CURRENT_HEADER_LINE_HEIGHT):  Look at current_mode_line_height
-       and current_header_line_height first.
-       (current_mode_line_height, current_header_line_height):
-       Declare extern.
-
-2000-11-14  Miles Bader  <miles@lsi.nec.co.jp>
-
-       * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
-       Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
-       (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
-
-2000-11-14  Miles Bader  <miles@gnu.org>
-
-       * xterm.c (x_alloc_lighter_color): Include an additive component
-       too for dark colors, because FACTOR isn't enough.
-       (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
-       New macros.
-
-2000-11-13  Gerd Moellmann  <gerd@gnu.org>
-
-       * keyboard.c (show_help_echo): Call message3_nolog with number of
-       bytes in the help string as 2nd parameter, instead of the number
-       of characters.
-
-2000-11-13  Miles Bader  <miles@gnu.org>
-
-       * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
-       (Fload): Use new openp return protocol.
-       Don't try to use Vload_source_file_function to load .elc files.
-       * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
-       openp return protocol.
-       * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
-
-2000-11-11  Kenichi Handa  <handa@etl.go.jp>
-
-       * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
-
-       * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
-       Defined these macros.
-       (NLIST_STRUCT): Avoid re-defining it.
-
-       * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
-       -I/usr/contrib/X11R6/include.
-       (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
-
-2000-11-10  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
-
-       * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
-       (w32_use_unicode_for_codepage): Use new pseudo-codepages.
-
-       * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
-       (Qw32_charset_vietnamese): New symbol.
-       (xlfd_charset_of_font): New function.
-       (w32_load_system_font): Use it.
-       (x_to_w32_charset): Use Fassoc to find charset info. Special case
-       when Vw32_charset_info_alist is nil to ensure default face always
-       has font. Use Fcar and Fcdr for safety.
-       (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
-       (w32_codepage_for_font): Use xlfd_charset_of_font.  Use new
-       pseudo-codepages for special cases.
-       (w32_to_x_font): New parameter to allow charset portion to be
-       specified where there is many to one mapping.  Callers changed.
-       (w32_list_fonts): Avoid listing fonts that won't display.
-
-2000-11-10  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfaces.c (Vface_alternative_font_registry_alist): New variable.
-       (font_list_1): Renamed from font_list.
-       (font_list): New function, trying alternative registries from
-       Vface_alternative_font_registry_alist.
-       (Finternal_set_alternative_font_registry_alist): New function.
-       (syms_of_xfaces): Initialize and Staticpro
-       Vface_alternative_font_registry_alist.
-       Defsubr Finternal_set_alternative_font_registry_alist.
-
-2000-11-09  Ken Raeburn  <raeburn@gnu.org>
-
-       * lisp.h (Flooking_at): Declare.
-
-2000-11-09  Gerd Moellmann  <gerd@gnu.org>
-
-       * dired.c (directory_files_internal): Fix a braino.
-
-       * dired.c (directory_files_internal): Add missing GCPRO's.
-       Some cleanup.
-
-2000-11-08  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
-       (resize_mini_window): Return quickly if Vresize_mini_window is
-       nil.  Don't return if Vmax_mini_window_height is nil.
-
-       * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
-       (syms_of_xdisp): Initialize them.
-       (resize_mini_window): Act according to the setting of
-       Vresize_mini_window.
-       (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
-
-       * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
-       scroll bar widget after configuring it, so that it will appear at
-       the right position from the start.
-       (XTredeem_scroll_bar): Cleaned up.
-
-2000-11-08  Kenichi Handa  <handa@etl.go.jp>
-
-       * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change.  If the
-       font is taller than the frame line, we don't have to bias the
-       division by two.
-
-       * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
-
-2000-11-07  Dave Love  <fx@gnu.org>
-
-       * config.in (HAVE_MKSTEMP): Add.
-
-       * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
-
-2000-11-07  Gerd Moellmann  <gerd@gnu.org>
-
-       * window.c (Fset_window_configuration): Don't try to preserve
-       point in the current buffer, if that buffer is displayed in more
-       than one window.
-
-       * xfaces.c (lookup_named_face): If default face isn't realized,
-       try to realize it.  Return -1 if not successful.
-       (Fx_list_fonts): Handle case that face cannot be determined.
-       (Fface_font): Likewise.
-
-2000-11-06  Gerd Moellmann  <gerd@gnu.org>
-
-       * window.c (displayed_window_lines): Detect partially
-       visible lines at the bottom correctly.
-
-2000-11-06  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
-       when ensuring we don't do visit in indirect buffer.
-
-2000-11-06  Kenichi Handa  <handa@etl.go.jp>
-
-       * composite.h (compose_chars_in_text): Add prototype.
-
-       * composite.c (Vcomposition_function_table): New variable.
-       (Qcomposition_function_table): New variable.
-       (run_composition_function): Call
-       Vcompose_chars_after_function with three arguments.
-       (compose_chars_in_text): New function.
-       (syms_of_composite): Modified the doc-string of
-       Vcompose_chars_after_function.  Declare composition-function-table
-       as a lisp variable, and initialize it.
-
-       * xfns.c (x_encode_text): Suppress producing escape sequences for
-       composition.
-
-       * xselect.c: Include composite.h.
-       (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
-
-2000-11-05  Andrew Innes  <andrewi@gnu.org>
-
-       * w32term.c (x_produce_glyphs): Fix typo in enum name.
-
-       * sysdep.c (read_input_waiting): Remove extraneous argument to
-       read_socket_hook.
-
-       * w32fns.c (Fx_server_version): Include w32_build_number in the
-       return list.
-
-       * w32heap.c (w32_build_number): New variable.
-       (cache_system_info): Set it.
-
-       * w32heap.h (w32_build_number): Add extern.
-
-       * emacs.c (syms_of_emacs): Update docstring for
-       system-configuration, to reflect the actual usage on MS-Windows.
-
-2000-10-31  Gerd Moellmann  <gerd@gnu.org>
-
-       * keyboard.c (read_char) <wrong_kboard>: Make sure that we
-       process idle timers while waiting for another event.
-
-       * dispnew.c (update_frame_line): Handle case where spaces in
-       the default face are colored.
-
-       * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
-       window height hasn't changed.
-
-2000-10-31  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (x_produce_glyphs): Handle composite characters.
-       (x_draw_glyph_string_foreground)
-       (x_draw_composite_glyph_string_foreground): Restore old font.
-
-2000-10-31  Miles Bader  <miles@lsi.nec.co.jp>
-
-       * minibuf.c (read_minibuf): Reset the undo history just before
-       starting the recursive-edit.
-
-2000-10-30  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfaces.c (menu_face_change_count): New variable.
-       (Finternal_set_lisp_face_attribute): Increment it for changes
-       of the `menu' face.
-       (realize_basic_faces): Reflect changes in the `menu' faces
-       in menu bars.
-
-       * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
-       dy obtained from the iterator's y-position after moving from
-       scroll_margin_pos to PT; see comment there.
-
-       * xdisp.c (safe_eval_handler): Call add_to_log.
-
-       * xfaces.c (resolve_face_name): Handle case that FACE_NAME
-       is not a symbol or string.
-
-       * xdisp.c (echo_area_display): Don't perform a display update from
-       inside redisplay.  The update will happen anyway at the end of
-       redisplay, and it can confuse redisplay (GC messages while
-       redisplaying, for instance.)
-
-2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * xrdb.c (x_load_resources): Use the class name in the defaults.
-
-       * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
-       (regex_compile): Catch bogus \(\1\).
-
-2000-10-30  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (x_alloc_nearest_color): Fix last change to compare
-       RGB values.
-
-       * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
-       we have a color cache, check that the cached color equals the
-       allocated color.  If not, clear the color cache.
-
-       * window.c (displayed_window_lines): Change buffers if necessary.
-       Fix computation of displayed lines.
-
-       * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
-       update_menu_bindings to DEFVAR_BOOL.
-
-2000-10-30  Kenichi Handa  <handa@etl.go.jp>
-
-       * search.c (Fset_match_data): Be sure to make search_regs always sane.
-
-       * puresize.h (BASE_PURESIZE): Increase to 680000.
-
-       * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
-
-2000-10-29  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
-
-       * w32term.c (w32_bdf_per_char_metric): Negate descent.
-       (w32_cache_char_metrics): Handle possibility that 'x' does not
-       exist in a BDF font.
-       (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
-
-       * w32bdf.h (bdffont): Add nchars.
-
-       * w32bdf.c (set_bdf_font_info): Set it.
-       (w32_BDF_TextOut): Swap byte order of double byte characters.
-       (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
-
-2000-10-28  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
-       don't override the colors in frame's param_alist, unless they are
-       unspecified.
-
-       * term.c (reassert_line_highlight): If inverse_video is non-zero,
-       reverse the effect of the highlight flag.
-
-2000-10-27  Ken Raeburn  <raeburn@gnu.org>
-
-       * window.h (Fwindow_live_p): Declare.
-
-       * undo.c (record_delete): Check that last_undo_buffer is really a
-       buffer before applying XBUFFER to it.
-
-       * keymap.c (where_is_internal): Pass lisp object, not integer, to
-       Faref.
-
-2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * lisp.h (KEYMAPP): New macro.
-       (get_keymap): Remove.
-       (get_keymap_1): Rename get_keymap.
-
-       * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
-
-       * xterm.c (note_mode_line_highlight): Use KEYMAPP.
-
-       * xmenu.c (single_submenu): Use KEYMAPP.
-       (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
-       Use KEYMAPP rather than Fkeymapp.
-
-       * w32term.c (note_mode_line_highlight): Use KEYMAPP.
-
-       * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
-       (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
-       Use KEYMAPP rather than Fkeymapp.
-       (single_submenu): Use KEYMAPP.
-       (w32_menu_show, w32_dialog_show): Use TRUE.
-
-       * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
-
-       * keymap.c (KEYMAPP): Remove (moved to lisp.h).
-       (Fkeymapp): Use KEYMAPP.
-       (get_keymap): Rename from get_keymap_1.  Remove old def.
-       Return t when autoload=0 and error=0 and the keymap needs autoloading.
-       (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
-       (Fminor_mode_key_binding): Don't raise an error if the binding
-       is not a keymap.
-       (Fuse_global_map, Fuse_local_map): Allow autoloading.
-       (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
-
-       * keyboard.c (read_char): get_keymap_1 -> get_keymap.
-       Allow Vspecial_event_map to be autoloaded.
-       (menu_bar_items): Fetch the keymap rather than using keymapp.
-       (menu_bar_one_keymap): No need to follow func-indirect any more.
-       (parse_menu_item): get_keymap_1 -> get_keymap.
-       (tool_bar_items): Fetch the keymap rather than using keymapp.
-       (read_key_sequence): Use KEYMAPP.
-
-       * intervals.c (get_local_map): Use get_keymap rather than following
-       function-indirections explicitly.
-
-       * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
-
-2000-10-27  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
-       point, as Windows has oversized fonts.
-
-       * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
-
-2000-10-27  Gerd Moellmann  <gerd@gnu.org>
-
-       * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
-       (freehook, reallochook): Handle null pointer arguments.
-       (__malloc_initialize) [GC_MCHECK]: Call mcheck.
-
-2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
-       (re_match_2_internal, re_match_2_internal, re_match_2_internal):
-       Giving in to popular pressure to shut up the compiler with casts.
-
-2000-10-27  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
-       signed value, and use a default value computed from the font's
-       maximum descent.
-
-2000-10-27  Miles Bader  <miles@lsi.nec.co.jp>
-
-       * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
-       that specify a negative underline position can still use underlines.
-
-       * window.c (Fpos_visible_in_window_p): Make POS default to
-       WINDOW's point, not the current buffer's point.
-
-2000-10-26  Dave Love  <fx@gnu.org>
-
-       * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
-       when it's necessary.
-
-2000-10-26  Gerd Moellmann  <gerd@gnu.org>
-
-       * window.c (size_window): Compute size difference from sum of old
-       child window sizes instead of from parent's size.
-
-       * xdisp.c (pos_visible_p): Change current buffer if necessary.
-       Handle obscured lines at the top of the window.
-
-       * frame.c (Fdelete_frame): Doc fix.  Move running the hook
-       down after the last error condition check.
-
-       * frame.c (Fdelete_frame): Run delete-frame-hook.
-
-2000-10-26  Kenichi Handa  <handa@etl.go.jp>
-
-       * coding.c (decode_coding): Fix previous change (check also
-       CODING_MODE_LAST_BLOCK).
-
-2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * regex.c: More `unsigned char' -> `re_char' changes.
-       Also change several `int' into `re_wchar_t'.
-       (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
-       (PUSH_FAILURE_POINTER): Don't cast any more.
-       (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
-       We want GCC to complain, since this piece of code makes
-       re_match non-reentrant, which *should* be fixed.
-       (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
-       (EXTEND_BUFFER): Use RETALLOC.
-       (SET_LIST_BIT): Don't cast.
-       (re_wchar_t): New type.
-       (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
-       that those two functions will always properly return.
-       (IMMEDIATE_QUIT_CHECK): Cast to void.
-       (analyse_first): Use recursion rather than an explicit stack.
-       (re_compile_fastmap): Can't fail anymore.
-       (re_search_2): Don't check re_compile_fastmap for failure.
-       (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
-       Now also sets the new value (passed in a new argument).
-       (re_match_2_internal): Use it.
-       Also, use a new var `reg' of type size_t when looping through regs
-       rather than reuse the inappropriate `mcnt'.
-
-       * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
-       (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
-       (where_is_internal): Renamed from Fwhere_is_internal.
-       Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
-       (Fwhere_is_internal): New function wrapping where_is_internal.
-       (where_is_internal_1): Handle the case where we're filling the cache.
-       (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
-
-2000-10-25  Miles Bader  <miles@gnu.org>
-
-       * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
-
-2000-10-25  Gerd Moellmann  <gerd@gnu.org>
-
-       * window.c (pos_fully_visible_p): Removed.
-       (Fpos_visible_in_window_p): Use pos_visible_p to determine
-       if position is visible and/or fully visible.
-
-       * lisp.h (pos_visible_p): Add prototype.
-
-       * xdisp.c (pos_visible_p): New function.
-
-2000-10-25  Kenichi Handa  <handa@etl.go.jp>
-
-       * process.c (send_process): If OBJECT is t, it means that the data
-       is from C string, but we should encode it.  Before calling
-       setup_raw_text_coding_system, be sure to flush out data by the
-       previous coding system.
-
-2000-10-25  Miles Bader  <miles@lsi.nec.co.jp>
-
-       * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
-       assignment of startpos to prev when startpos == pos.
-
-       * editfns.c (find_field): Set the field stickiness correctly from
-       overlay fields.  Use renamed `text_property_stickiness'.
-       (text_property_stickiness): Renamed from `char_property_stickiness'.
-       Only check text properties, not overlays.
-       * textprop.c (get_char_property_and_overlay): New function.
-       (Fget_char_property): Use it.
-       * intervals.h (get_char_property_and_overlay): Add declaration.
-
-2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * keymap.c: Use AREF, ASET and ASIZE macros.
-       (Fmake_sparse_keymap): Docstring fix.
-       (synkey): Remove.
-       (shadow_lookup): Move up.
-       Handle the case where lookup-key returns an integer.
-       (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
-       (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
-       (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
-       Simplify/rewrite the keymap-finding code.
-       Add check for command shadowing, using shadow_lookup.
-
-2000-10-24  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
-       rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
-       a symbol.
-
-2000-10-24  Andrew Innes  <andrewi@gnu.org>
-
-       * dired.c (directory_files_internal_unwind): New function.
-       (directory_files_internal): Use it to ensure closedir is called
-       even if expand-file-name or file-attributes throw, eg. because of
-       a user interrupt.  Also enable immediate_quit while calling
-       re_search, so that matching can be interrupted as well.
-
-2000-10-24  Andrew Innes  <andrewi@gnu.org>
-
-       * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
-       NT-Emacs only.
-       (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
-       so that re_search functions only quit when callers expect them to.
-
-2000-10-24  Kenichi Handa  <handa@etl.go.jp>
-
-       * regex.c (regex_compile): Change the way of handling a range from
-       a char less than 256 to a char not less than 256.
-
-2000-10-24  Gerd Moellmann  <gerd@gnu.org>
-
-       * window.c (size_window): Prevent setting window's width or
-       height to a negative value (esp. with XSETFASTINT).
-
-       * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
-       [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
-       (protect_malloc_state) [GC_MALLOC_CHECK &&
-       GC_PROTECT_MALLOC_STATE]: New function.
-       (PROTECT_MALLOC_STATE): New macro.
-       (__malloc_initialize, morecore, _malloc_internal)
-       (_free_internal) _realloc_internal): Use it to make _heapinfo
-       read-only outside of gmalloc.
-
-       * keymap.c: Update copyright.
-
-       * .gdbinit (xbacktrace): Handle case that $bt->function isn't
-       a symbol.
-
-2000-10-24  Colin Walters  <walters@cis.ohio-state.edu>
-
-       * filelock.c (unlock_all_files): Use unlock_file to expand each
-       buffer's file_truename before trying remove its lock file.
-
-2000-10-24  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
-       or CRLF, decode EOLs.
-
-2000-10-24  Kenichi Handa  <handa@etl.go.jp>
-
-       * window.c (Fdisplay_buffer): Fix doc.
-
-2000-10-23  Jason Rumney  <jasonr@gnu.org>
-
-       * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
-       ASCII font of default fontset on Windows.
-
-       * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
-       xterm.c comment below).
-
-       * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
-
-2000-10-23  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (x_connection_closed): Reset handling_signal.
-
-       * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
-
-2000-10-23  Miles Bader  <miles@gnu.org>
-
-       * window.c (window_scroll_pixel_based, window_scroll_line_based):
-       Pass nil for FULLY argument to Fpos_visible_in_window_p to
-       maintain old behavior.
-       * minibuf.c (Fminibuffer_complete): Likewise.
-
-2000-10-23  Miles Bader  <miles@lsi.nec.co.jp>
-
-       * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
-       that when a font can't be exactly centered, it errs up rather than
-       down.
-
-2000-10-23  ShengHuo ZHU  <zsh@cs.rochester.edu>
-
-       * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
-
-2000-10-23  Andrew Choi  <akochoi@i-cable.com>
-
-       * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
-
-       * dispnew.c [macintosh]: Include macterm.h.
-       (init_display) [macintosh]: Initialization for window system.
-
-       * emacs.c (main) [macintosh]: Call syms_of_textprop,
-       syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
-       syms_of_search, x_term_init, and init_keyboard before calling
-       init_window_once.  Also, call syms_of_xmenu.
-
-       * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
-       default fontset to Monaco.
-
-       * frame.c [macintosh]: Include macterm.h.  Remove declarations of
-       NewMacWindow and DisposeMacWindow.
-       (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
-       instead of calling NewMacWindow and setting fields of
-       f->output_data.mac directly.  Call init_frame_faces.
-       (Fdelete_frame) [macintosh]: Remove unused code.
-       (Fmodify_frame_parameters) [macintosh]: Call
-       x_set_frame_parameters instead of mac_set_frame_parameters.
-
-       * frame.h [macintosh]: Define menu_bar_lines field in struct
-       frame.  Define FRAME_EXTERNAL_MENU_BAR macro.
-
-       * keyboard.c [macintosh]: Include macterm.h.
-       (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
-       and menu_bar_activate_event type events as for X and NT.
-       (make_lispy_event) [macintosh]: Construct lisp events of type
-       MENU_BAR_EVENT as for X and NT.
-
-       * sysdep.c [macintosh]: Remove declaration for sys_signal.
-       Include stdlib.h.  Remove definition of Vx_bitmap_file_path.
-       (sys_subshell) [macintosh]: Remove definition entirely.
-       (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
-       Vwindow_system_version here.  Remove initialization of
-       Vx_bitmap_file_path.
-       (read_input_waiting): Correct the number of parameters passed to
-       read_socket_hook.
-       Move all Macintosh functions to mac/mac.c.
-
-       * term.c [macintosh]: Include macterm.h.
-
-       * window.c [macintosh]: Include macterm.h.
-
-       * xdisp.c [macintosh]: Include macterm.h.  Declare
-       set_frame_menubar and pending_menu_activation.
-       (echo_area_display) [macintosh]: Do not return if terminal frame
-       is the selected frame.
-       (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
-       Allow only the selected frame to set menu bar.
-       (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
-       calling FRAME_EXTERNAL_MENU_BAR (f).
-       (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
-
-       * xfaces.c [macintosh]: Include macterm.h.  Define x_display_info
-       and check_x.  Declare XCreateGC.  Define x_create_gc and
-       x_free_gc.  Initialize font_sort_order.
-       (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
-       but call x_list_fonts instead of w32_list_fonts.
-       (Finternal_face_x_get_resource) [macintosh]: Do not call
-       display_x_get_resource.
-       (prepare_face_for_display) [macintosh]: Set xgcv.font.
-       (realize_x_face) [macintosh]: Load the font if it is specified in
-       ATTRS.
-       (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
-
-2000-10-22  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
-       is nil: since we go to the end of submap anyway, we'd end up
-       setting nil to nil.
-       (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
-       doesn't obey autoload.
-
-2000-10-21  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.c (dos_set_window_size): Update screen dimension variables.
-
-2000-10-21  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c (w32_cache_char_metrics): Double check that font is
-       really fixed pitch before trusting tmPitchAndFamily.
-
-2000-10-21  Andrew Innes  <andrewi@gnu.org>
-
-       * w32gui.h (w32_char_font_type): Move enum from w32term.c
-
-       * w32term.h: Extern decl for w32_cache_char_metrics.
-
-       * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
-
-       * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
-       (w32_unload_font): Free per_char array if present.
-
-       * w32term.c (w32_per_char_metric): Remove HDC argument.  Use
-       cached information in emulated XFontStruct to handle common cases
-       quickly.  Do not allocate XCharStruct for return.
-       (w32_native_per_char_metric): New function.
-       (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
-       allocating one.
-       (x_produce_glyphs): Don't get an HDC.  Change calls to
-       w32_per_char_metric to match arg change above.  Remove calls to
-       free results.
-       (w32_get_glyph_overhangs): Ditto.
-       (w32_cache_char_metrics): New function.
-
-       * makefile.w32-in: Change .obj to .$(O) in all dependencies.
-       ($(BLD)/casefiddle.$(O)): Remove compile command.
-       ($(BLD)/gmalloc.$(O)): Remove compile command.
-       ($(BLD)/dispnew.obj):
-       ($(BLD)/keyboard.obj):
-       ($(BLD)/w32inevt.obj):
-       ($(BLD)/w32bdf.obj):
-       ($(BLD)/alloc.obj):
-       ($(BLD)/buffer.obj):
-       ($(BLD)/editfns.obj):
-       ($(BLD)/emacs.obj):
-       ($(BLD)/fileio.obj):
-       ($(BLD)/fns.obj):
-       ($(BLD)/indent.obj):
-       ($(BLD)/insdel.obj):
-       ($(BLD)/intervals.obj):
-       ($(BLD)/minibuf.obj):
-       ($(BLD)/print.obj):
-       ($(BLD)/scroll.obj):
-       ($(BLD)/sysdep.obj):
-       ($(BLD)/textprop.obj):
-       ($(BLD)/widget.obj):
-       ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
-       ($(BLD)/term.obj): Add dependency on dispextern.h.
-
-       * makefile.nt ($(BLD)\dispnew.obj):
-       ($(BLD)\keyboard.obj):
-       ($(BLD)\w32inevt.obj):
-       ($(BLD)\w32bdf.obj):
-       ($(BLD)\alloc.obj):
-       ($(BLD)\buffer.obj):
-       ($(BLD)\editfns.obj):
-       ($(BLD)\emacs.obj):
-       ($(BLD)\fileio.obj):
-       ($(BLD)\fns.obj):
-       ($(BLD)\indent.obj):
-       ($(BLD)\insdel.obj):
-       ($(BLD)\intervals.obj):
-       ($(BLD)\minibuf.obj):
-       ($(BLD)\print.obj):
-       ($(BLD)\scroll.obj):
-       ($(BLD)\sysdep.obj):
-       ($(BLD)\textprop.obj):
-       ($(BLD)\widget.obj):
-       ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
-       ($(BLD)\term.obj): Add dependency on dispextern.h
-
-2000-10-21  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
-       with an additional argument of Qt.
-
-2000-10-21  Miles Bader  <miles@gnu.org>
-
-       * window.c (pos_fully_visible_in_window_p): New function.
-       (Fpos_visible_in_window_p): Add FULLY argument.
-       Use pos_fully_visible_in_window_p.
-       (window_scroll_pixel_based, window_scroll_line_based): Update
-       calls to Fpos_visible_in_window_p.
-       * lisp.h (Fpos_visible_in_window_p): Update prototype
-
-2000-10-20  Gerd Moellmann  <gerd@gnu.org>
-
-       * alloc.c (toplevel): Conditionalize compilation of mem_*
-       functions differently.
-
-2000-10-20  Jason Rumney  <jasonr@gnu.org>
-
-       * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
-       mem_init where it used to be. mem_z etc not defined otherwise.
-
-2000-10-20  Gerd Moellmann  <gerd@gnu.org>
-
-       * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
-       GC_MALLOC_CHECK.
-       (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
-       structure definition and related variabled to the top of the file.
-       Include this code when GC_MALLOC_CHECK is defined.
-       (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
-       register/unregister allocated region.
-       (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
-       which isn't allocated.
-       (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
-       something which is already in use.
-       (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
-       (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
-       (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
-       (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
-
-       * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
-       _malloc_internal instead of malloc.
-       (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
-       of free.
-
-2000-10-20  Andrew Innes  <andrewi@gnu.org>
-
-       * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
-       Windows.
-       (my_strftime) <macro>: Don't use macro arg list when redefining as
-       _strftime_copytm.
-       (my_strftime) <function>: Supply 0 as ut argument.
-
-2000-10-19  Jason Rumney  <jasonr@altavista.net>
-
-       * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
-       including dispextern.h, as it stops faces from working.
-
-       * w32fns.c (Fx_create_frame): Don't bother calling
-       face-set-after-frame-default since the caller does it for us
-       anyway. Clean up calls to x_get_arg to be consistent with X.
-
-       * w32term.c (x_produce_glyphs): Handle
-       unibyte_display_via_language_environment correctly.
-       (w32_draw_box_rect): Fix the calculation of width and height.
-
-       * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
-       as it has stopped working.
-       (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
-       menu-bar.
-
-2000-10-19  Gerd Moellmann  <gerd@gnu.org>
-
-       * eval.c (skip_debugger): Prevent a compiler warning.
-       (Fcondition_case): Likewise.
-       (Fbacktrace_frame): Use a null interactive spec.
-
-2000-10-19  Kenichi Handa  <handa@etl.go.jp>
-
-       * xterm.c (x_find_ccl_program): Check also fontp->full_name.
-
-2000-10-18  Gerd Moellmann  <gerd@gnu.org>
-
-       * strftime.c: Sync with glibc, file version 1.78.
-       (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
-       should no longer be used according to ISO 8601.
-
-       * keymap.c (access_keymap): If IDX has a meta prefix, and there's
-       no map for meta_prefix_char, don't try to use it as a keymap.
-       Instead, if T_OK is non-zero, look up a default binding, if any,
-       otherwise, if T_OK is zero, return nil.
-
-       * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
-       (x_to_xcolors, png_load): Use x_query_color.
-
-       * xterm.c (x_color_cells, x_query_colors, x_query_color):
-       New functions.
-       (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
-       which can be slow.
-       (x_copy_color, x_alloc_lighter_color): Likewise.
-
-       * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
-       (x_query_color, x_query_colors): Add prototype.
-
-       * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
-       check_string_bytes only if not noninteractive, increase count to 50.
-
-2000-10-18  Miles Bader  <miles@lsi.nec.co.jp>
-
-       * insdel.c (adjust_markers_for_delete): Handle before-insertion
-       markers correctly.
-
-2000-10-17  Gerd Moellmann  <gerd@gnu.org>
-
-       * alloc.c (pure_bytes_used): Renamed from pureptr.
-       (ALIGN): New macro.
-       (pure_alloc): New function.
-       (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
-       Use it.
-       (Fpurecopy): Use PURE_POINTER_P.
-
-       * xdisp.c (try_cursor_movement): Use cursor_row_p also when
-       PT has moved backward.
-
-       * xdisp.c (cursor_row_p): Take continued lines into account.
-
-       * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
-       string's size_byte.
-       (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
-       (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
-       (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
-       string allocated.
-
-       * xdisp.c (forward_to_next_line_start): Switch iterator's handling
-       of selective display off while searching for the next line start.
-
-2000-10-17  Kenichi Handa  <handa@etl.go.jp>
-
-       * Makefile.in (term.o): Depend on dispextern.h.
-
-2000-10-16  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * keymap.c (keymap_memberp): Ensure that nil is not a member.
-
-2000-10-16  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (set_iterator_to_next): Reset box start and end flags of
-       the iterator at the beginning, so that they can be set later on,
-       for instance in reseat_at_next_visible_line_start, without being
-       overwritten.
-
-       * xfns.c (pbm_format): Add :foreground and :background keywords.
-       (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
-       (xbm_load): Recognize foreground and background color specifications.
-
-2000-10-16  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * dispextern.h (unspecified_fg, unspecified_bg): Declare.
-
-       * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
-
-       * msdos.c (IT_set_face): Compare highlighted face with the default
-       face, and invert colors if these faces' colors are identical.
-       (Fmsdos_remember_default_colors): Don't swap foreground and
-       background colors in initial_colors[].
-       (IT_set_frame_parameters): Don't swap frame's foreground and
-       background pixels.  If ALIST includes "(reverse . t)", swap
-       foreground-color and background-color properties in frame's
-       param_alist.  If the original frame's param_alist doesn't specify
-       the colors, store unspecified-fg and unspecified-bg, reversed if
-       required.
-
-       * frame.c (Fframe_parameters): If a tty's frame's param_alist says
-       the colors are unspecified and reversed, reverse fore- and back-
-       ground in the returned value.
-       (Fframe_parameter): Ditto.
-
-2000-10-16  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
-       get_last_unchanged_at_beg_row.
-       (find_first_unchanged_at_end_row): Renamed from
-       get_first_unchanged_at_end_row.
-       (find_first_unchanged_at_end_row): Convert assertions to
-       unconditional tests which abort.  When looking for a row in
-       unchanged text, don't go further back than first_text_row.
-
-       * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
-       Don't add in the last line's height when deciding if the new
-       position is below the scroll margin.
-
-2000-10-16  Miles Bader  <miles@gnu.org>
-
-       * editfns.c (Fconstrain_to_field): Check carefully for field
-       boundaries if either OLD_POS or NEW_POS has a non-nil field
-       property, even if they're the same.
-
-2000-10-16  Kenichi Handa  <handa@etl.go.jp>
-
-       * xterm.c (x_draw_box_rect): Fix the calculation of width and
-       height for XFillRectangle.
-
-2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * syntax.c (Fstring_to_syntax): New function extracted from
-       Fmodify_syntax_entry.
-       (Fmodify_syntax_entry): Use it and document the ! and | fences.
-       (skip_chars, Fforward_comment): Remove unused variables.
-       (syms_of_syntax): Add defsubr for string-to-syntax.
-       (describe_syntax): Add code for comment and string fences.
-
-2000-10-14  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * keymap.c (access_keymap): Add AUTOLOAD parameter.
-       Do the meta->esc mapping.  Call get_keyelt before returning.
-       Start scanning from the second element (the first is always `keymap')
-       to make it easier to detect when we reach a parent map.
-       Handle the case of inheriting from a symbol whose function is a map.
-       (Fkeymap_parent): Also handle the `inherit from symbol' case.
-       (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
-       (get_keyelt, Flookup_key): Update call to access_keymap.
-       Remove the meta->esc mappings.
-       (define_as_prefix): Delete old disabled code.
-       (menu_item_p): New function.
-       (where_is_internal_1): Skip over the few remaining menu items.
-       * lisp.h (access_keymap): Update prototype.
-       * keyboard.c (read_char, menu_bar_items, tool_bar_items):
-       Update call to access_keymap.
-       (follow_key, read_key_sequence): Update calls to access_keymap.
-       Remove the meta->esc mappings.
-
-2000-10-13  Gerd Moellmann  <gerd@gnu.org>
-
-       * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
-       with additional argument.
-
-       * xdisp.c (cursor_row_p): New function.
-       (try_cursor_movement, display_line): Use it.
-
-       * xdisp.c (append_space): Also save/restore iterator's current
-       character and its length.
-
-       * xdisp.c (init_from_display_pos): Add an assertion.
-       (handle_stop): Don't set iterator's add_overlay_start.
-       (handle_invisible_prop): Likewise.
-       (load_overlay_strings): If text under an overlay is invisible,
-       take both before- and after-strings into account when the iterator
-       is positioned either at the start or at the end of the overlay.
-       (forward_to_next_line_start): Rewritten.
-       (reseat_at_next_visible_line_start): Rewritten.
-       (set_iterator_to_next): Add parameter RESEAT_P.
-
-       * dispextern.h (struct it): Remove member add_overlay_start.
-       (set_iterator_to_next): Change prototype.
-
-2000-10-13  Kenichi Handa  <handa@etl.go.jp>
-
-       * coding.c (code_convert_region): Be sure to initialize
-       coding->category_idx.
-       (decode_coding_string): Set coding->src_multibyte and
-       coding->dst_multibyte before using CODING_REQUIRE_DECODING.
-       (encode_coding_string): Set coding->src_multibyte and
-       coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
-
-2000-10-12  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * xfns.c (Fx_create_frame): Don't bother calling
-       face-set-after-frame-default since the caller does it for us anyway.
-
-2000-10-12  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * window.c (coordinates_in_window): Fix detection of vertical line
-       on character terminals.
-
-2000-10-12  Gerd Moellmann  <gerd@gnu.org>
-
-       * editfns.c (save_excursion_save): Additionally record the
-       selected window.
-       (save_excursion_restore): If buffer was visible in a window, and a
-       different window was selected, and the old selected window is
-       still live, restore point in that window.
-
-2000-10-12  Kenichi Handa  <handa@etl.go.jp>
-
-       * xterm.c (x_produce_glyphs): Handle
-       unibyte_display_via_language_environment correctly.
-
-       * regex.c (regex_compile): Change the way of handling a range from
-       unibyte char to multibyte char.
-
-       * syntax.c (skip_chars): Change the way of handling a range from
-       unibyte char to multibyte char.
-
-       * process.c (read_process_output): Cancel previous change.
-
-2000-10-11  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
-
-       * charset.c (Ffind_charset_string): Doc fix.
-       (Ffind_charset_region): Doc fix.
-
-2000-10-11  Kenichi Handa  <handa@mule.m17n.org>
-
-       * process.c (read_process_output): Fix previous change.  Adjust
-       multibyteness of text to insert in a buffer by
-       string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
-
-2000-10-10  Andreas Schwab  <schwab@suse.de>
-
-       * alloc.c (mark_object): Remove all workarounds installed on
-       1993-08-08.
-
-2000-10-10  Kenichi Handa  <handa@etl.go.jp>
-
-       * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
-       (base64_encode_1): Make it work for a text of multibyte form.
-       (Fbase64_decode_region): Allocate sufficient memory for multibyte
-       case.  Don't call str_to_multibyte because base64_decode_1
-       produces correct multibyte form for eight-bit codes.
-       (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
-       (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN.  If
-       MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
-       codes.
-
-       * charset.h (CHAR_STRING): Optimized for single byte characters.
-
-2000-10-09  Andreas Schwab  <schwab@suse.de>
-
-       * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
-       -1 after socket is closed, to fall through to error processing.
-
-2000-10-09  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
-       variables.  If ALIST includes foreground-color or
-       background-color, change also the colors of the default face for
-       this frame.
-
-2000-10-08  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
-       them extern (they are defined on xfaces.c).
-       (syms_of_msdos): Don't intern and don't staticpro
-       Qbackground_color and Qforeground_color.
-
-2000-10-07  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * frame.c (Fframe_parameter): For non-windowed frames, if
-       f->param_alist says foreground or background color is unspecified,
-       call tty_color_name to return the color name computed from the
-       frame's current colors.
-
-2000-10-06  Dave Love  <fx@gnu.org>
-
-       * terminfo.c (ospeed): Don't declare.
-
-       * sysdep.c: Don't include string.h.
-       (h_errno): Declare conditional also on TRY_AGAIN.
-
-       * charset.c (Ffind_charset_string): Doc fix.
-
-       * fns.c (Fbase64_encode_region, Fbase64_encode_string)
-       (Fbase64_decode_region, Fbase64_decode_string): More explicit
-       error messages.
-
-2000-10-05  Dave Love  <fx@gnu.org>
-
-       * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
-       position like menu-bar.
-
-2000-10-05  Gerd Moellmann  <gerd@gnu.org>
-
-       * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
-
-       * xdisp.c (handle_single_display_prop): Use safe_call1.
-       (safe_call): Renamed from call_function.
-       (safe_call1): New function.
-       (handle_fontified_prop): Use safe_call1 instead of call1.
-       (safe_eval): Renamed from eval_form.
-       (safe_eval_handler): Renamed from eval_handler.
-       (handle_single_display_prop, display_mode_element): Use safe_eval
-       instead of eval_form.
-
-       * xfaces.c (merge_face_heights): Use safe_call instead of
-       call_function.
-
-       * keyboard.c (show_help_echo): Use safe_call instead of
-       call_function; use safe_eval instead of eval_form.
-
-       * lisp.h (safe_call): Renamed from call_function.
-       (safe_eval): Renamed from eval_form.
-       (safe_call1): Add prototype.
-
-2000-10-05  Miles Bader  <miles@lsi.nec.co.jp>
-
-       * xfns.c (image_ascent): Rearrange ascent calculation for the
-       has-a-font case.
-
-2000-10-04  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
-       (where_is_internal_1): Don't bother ignoring menu-items any more.
-
-2000-10-04  Gerd Moellmann  <gerd@gnu.org>
-
-       * keyboard.c (update_menu_bindings): New variable.
-       (parse_menu_item): Use AREF.  If update_menu_bindings
-       is 0, don't update menu bindings.
-       (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
-
-2000-10-03  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
-       to `mark_object'.
-
-2000-10-02  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * syntax.c (forw_comment): Match nestedness of ender/starter.
-       (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
-       (prev_char_comstart_first): Remove.
-       (back_comment): Check two-char comment markers more carefully
-       to better handle overlapping cases like *//* or /* */* */ ...
-       Match nestedness of ender/starter.
-
-2000-10-02  Dave Love  <fx@gnu.org>
-
-       * config.in (HAVE_GAI_STRERROR): Add undef.
-
-       * process.c (Fopen_network_stream): Use it.
-
-       * m/alpha.h (NO_REMAP): Don't define.
-
-2000-10-02  Gerd Moellmann  <gerd@gnu.org>
-
-       * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
-       return with a string converted to an integer or vice versa when
-       Vmocklisp_arguments is t.
-       (Fsignal): Likewise.  The function can return for `quit'.
-       (struct gcpro): Declare member `var' to point to a volatile
-       Lisp_Object.
-
-       * eval.c (error): Prevent compiler warning.
-
-2000-09-30  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * keymap.c (keymap_memberp): New function.
-       (Fset_keymap_parent): Use it.
-       (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
-       Use keymap_memberp to avoid creating cycles.
-       (access_keymap): Use KEYMAPP.
-
-2000-09-30  Gerd Moellmann  <gerd@gnu.org>
-
-       * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
-       gai_strerror.  Make sure xerrno is set if connect fails.  Improve
-       error recovery.
-
-2000-09-29  Jason Rumney <jasonr@gnu.org>
-
-       * w32term.c (w32_char_font_type, w32_encode_char)
-       (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
-       (w32_bdf_per_char_metric): New function.
-       (w32_per_char_metric): Use it.
-       (x_draw_glyph_string_background): Always draw background for BDF
-       glyphs.
-
-       * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
-       GDI object which is a scarce resource.
-
-       * w32bdf.c (search_file_line): Fix skipping of whitespace.
-       (get_quoted_string): Fix limit on memchr search.
-       (set_bdf_font_info): Use unsigned chars. Negate yoffset.
-       (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
-       (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
-       (get_cached_font_char, cache_char_offset): Use macro
-       BDF_CODEPOINT_RANGE_COVER_P.
-       (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
-       (clear_cached_bitmap_slots): New function.
-       (GET_HEX_VALUE): G-Z, g-z are not hex.
-       (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
-       (get_bitmap_with_cache): Use new cache implementation.
-       (create_offscreen_bitmap): New function.
-       (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
-
-       * w32term.c (x_produce_glyphs):  If the distance from the current
-       position to the next tab stop is less than a canonical character
-       width, use the tab stop after that.
-       (x_draw_glyphs): Handle case START and END are out of bounds more
-       carefully.
-       (x_clear_mouse_face): Block/unblock input.
-       (x_display_and_set_cursor): Don't show a hollow box cursor for
-       buffers whose cursor_type is nil.
-
-2000-09-29  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
-
-       * dispextern.h (updating_frame): Declare extern.
-
-2000-09-29  Andreas Schwab  <schwab@suse.de>
-
-       * m/ia64.h: Remove hack of not prototyping bcopy, etc.
-
-2000-09-29  Gerd Moellmann  <gerd@gnu.org>
-
-       * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
-       use its function definition.
-       (tool_bar_items): Likewise.
-
-       * lisp.h (fatal): Declare NO_RETURN.
-
-2000-09-29  Kenichi Handa  <handa@etl.go.jp>
-
-       * keymap.c: Remove the line "#undef NULL".
-
-2000-09-28  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
-
-2000-09-28  Dave Love  <fx@gnu.org>
-
-       * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
-
-       * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
-
-       * .gdbinit (xreload): Note its need on GNU/Linux.
-
-       * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
-       r_alloc, r_alloc_free.
-
-2000-09-28  Kenichi Handa  <handa@etl.go.jp>
-
-       * syntax.c (skip_chars): Handle negation correctly.
-
-2000-09-27  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfaces.c (realize_default_face): Call set_lface_from_font_name
-       with non-zero FORCE_P argument.
-
-       * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
-       Add assertions.
-
-       * xdisp.c (window_box_height): Add an assertion.
-
-       * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
-       tool-bar than is available.
-       (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
-
-2000-09-27  Dave Love  <fx@gnu.org>
-
-       * s/irix6-5.h: Now works 64-bit.  Tidied.
-
-2000-09-26  Gerd Moellmann  <gerd@gnu.org>
-
-       * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
-       instead of BITS_PER_INT.
-       (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
-       EMACS_UINT, respectively.
-       (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
-
-       * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
-
-       * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
-
-       * window.c (freeze_window_starts): Construct last argument for
-       foreach_window differently.
-
-       * xfns.c (x_decode_color): Don't return a Lisp_Object.
-
-       * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
-       EMACS_UINT instead of `int' and `unsigned int'.
-       (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
-
-       * frame.h (struct frame): Make the `nothing' member of union
-       output_data an EMACS_INT.
-
-       * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
-       (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
-       size in the sdata structure.
-       (SDATA_NBYTES, SDATA_DATA): New macros.
-       (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
-       differently for the different layout of the sdata structure.
-       (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
-       in sdata.
-       (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
-       Check that size recorded in the string size and size recorded in
-       the sdata structure agree.
-
-2000-09-25  Dave Love  <fx@gnu.org>
-
-       * buffer.c: Include stdio.h.
-
-       Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
-
-       * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
-
-       * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
-       (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
-       (__malloc_extra_blocks): Declare as __malloc_size_t.
-
-2000-09-25  Gerd Moellmann  <gerd@gnu.org>
-
-       * alloc.c (mark_image): Use GC_NILP instead of NILP.
-
-       * keyboard.c (show_help_echo): Set help_echo_showing_p.
-       (read_char): If help-echo is showing, preserve the echo area
-       when redisplaying.
-
-       * xdisp.c (help_echo_showing_p): New variable.
-       (set_message): Reset it to 0.
-       (init_xdisp): Initialize help_echo_showing_p.
-
-       * dispextern.h (help_echo_showing_p): Declare extern.
-
-       * config.in: Fix typo in __GNUC_MINOR__.
-
-       * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
-
-       * s/freebsd.h (POSIX_SIGNALS): Define.
-
-       * xterm.c (x_clear_mouse_face): Block/unblock input.
-
-2000-09-24  Dave Love  <fx@gnu.org>
-
-       * fns.c (base64_encode_1): Fix last change.
-
-2000-09-22  Gerd Moellmann  <gerd@gnu.org>
-
-       * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
-
-       * xdisp.c (try_window_reusing_current_matrix): More fixes
-       for the case window has a header-line.
-
-2000-09-22  Dave Love  <fx@gnu.org>
-
-       * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
-       a doc string.
-
-       * xterm.c [SOLARIS2]: Remove redundant include of string.h.
-
-       * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
-
-2000-09-21  Gerd Moellmann  <gerd@gnu.org>
-
-       * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
-       for GCC >= 2.5.
-
-       * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
-       Declare NO_RETURN.
-
-       * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
-       * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
-       * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
-       warnings.
-
-       * marker.c (byte_char_debug_check): Return void.
-
-       * xfns.c (Fx_create_frame): Set default frame parameter value
-       for tool-bar-lines to 1.
-
-       * dispnew.c (scrolling_window): Compare y-positions of rows
-       equal at the start.  Some simplification.
-
-       * xdisp.c (try_window_reusing_current_matrix): Fix computation of
-       reused rows' y-position in the case window has a header-line, and
-       new window start is greater than old window start.
-
-       * process.c (process_sent_to): New variable.
-       (send_process): Workaround for a crash on sparc-sun-solaris-2.6
-       with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
-       Declare more parameters volatile.
-
-       * lread.c (Vrecursive_load_depth_limit): New variable.
-       (Fload): Check recursive loads whose recursion depth exceeds
-       Vrecursive_load_depth_limit.
-       (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
-
-2000-09-20  Gerd Moellmann  <gerd@gnu.org>
-
-       * fileio.c (Fread_file_name): Doc fix.
-
-       * editfns.c (Fmessage_or_box): Doc fix.
-
-       * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
-
-       * xfns.c (xbm_scan): Allow C-style comments.
-
-       * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
-       symbols are specified, add color translations to the cache.
-       (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
-       (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
-       xpm_cache_color.
-       (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
-       structures to xpm_init_color_cache.
-
-2000-09-19  Gerd Moellmann  <gerd@gnu.org>
-
-       * dispnew.c (update_window_line): Make sure to always draw mode-lines.
-
-2000-09-19  Andrew Innes  <andrewi@gnu.org>
-
-       * makefile.nt (bootstrap-emacs): Don't change directory.
-
-2000-09-19  Kenichi Handa  <handa@etl.go.jp>
-
-       * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
-
-       * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
-       If output buffer is too small, signal an appropriated error.
-
-2000-09-18  Dave Love  <fx@gnu.org>
-
-       * keyboard.c (menu_bar_items, tool_bar_items)
-       (current_active_maps): Remove redundant get_local_map call.
-
-2000-09-18  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (x_display_and_set_cursor): Don't show a hollow box
-       cursor for buffers whose cursor_type is nil.
-
-       * xterm.c (x_draw_image_glyph_string): Remove a comment describing
-       a feature to implement that is already implemented.
-       (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
-       warnings.
-
-       * xfns.c (x_clear_image_1): New function.
-       (x_clear_image): Use it.
-       (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
-
-       * dispnew.c (update_window): Move test for invisible lines
-       at the top to update_window_line.
-       (update_window_line): Handle invisible lines here.
-
-       * xfns.c (clear_image_cache): Clear current matrices of all
-       frames sharing an image cache.  Block input while freeing
-       images.  Fix timestamp comparison.
-       (x_clear_image): Also free the mask.
-
-       * xfns.c (lookup_image): Block input while loading the image so
-       that we won't get interrupted in a state where the image isn't yet
-       set up completely.
-       (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
-       (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
-       (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
-       (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
-
-2000-09-16  Gerd Moellmann  <gerd@gnu.org>
-
-       * dispnew.c (update_window): Make sure to make desired rows
-       current even if they are completely invisible at the top
-       of a window.
-
-2000-09-15  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfns.c (lookup_image): Build mask before applying an algorithm.
-       Recognize algorithm `disabled'.
-       (cross_disabled_images): New variable.
-       (COLOR_INTENSITY): New macro.
-       (x_detect_edges): Use COLOR_INTENSITY.
-       (x_disable_image): New function.
-       (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
-
-       * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
-       disabled state, don't apply an image transformation algorithm if
-       the user specified an image for the disabled state.  Use
-       `:algorithm disabled' for creating a disabled item's image if the
-       user hasn't specified an image.
-
-       * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
-       allocation functions with the XPM lib.
-       (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
-       (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
-       (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
-       (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
-       (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
-       (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
-       functions, if possible, because these handle color allocation
-       failure more gracefully.
-       (Fimage_mask_p): New function.
-
-       * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
-       (Qedge_detection, Qheuristic): New symbols.
-       (syms_of_xfns): Initialize new symbols.
-       (lookup_image): Handle `:mask X', `:algorithm emboss', and
-       `algorithm (edge-detection ...)'.
-       (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
-       (tiff_format, gif_format, gs_format): Add `:mask'.
-       (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
-       (GIF_MASK, GS_MASK): New enumerators.
-       (x_laplace_read_row, x_laplace_write_row): Functions removed.
-       (emboss_matrix, laplace_matrix): New variables.
-       (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
-       (x_edge_detection): New functions.
-       (x_laplace): Rewritten in terms of x_detect_edges.
-       (x_build_heuristic_mask): If image has a mask, free it.
-
-2000-09-14  Andrew Innes  <andrewi@gnu.org>
-
-       * makefile.w32-in: Revert to Unix line endings.
-
-2000-09-14  Andrew Innes  <andrewi@gnu.org>
-
-       * makefile.w32-in: Standardize indentation somewhat.
-       (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
-       cater for differences between shells.
-
-       * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
-
-2000-09-14  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (x_produce_glyphs): If the distance from the current
-       position to the next tab stop is less than a canonical character
-       width, use the tab stop after that.
-
-2000-09-14  Dave Love  <fx@gnu.org>
-
-       * buffer.c (alloc_buffer_text): Fix xmalloc call.
-
-2000-09-14  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (handle_fontified_prop): While running fontification
-       functions, bind `fontification-functions' and
-       `after-change-functions' to nil.
-
-       * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
-       (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
-
-       * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
-
-       * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
-       USE_MMAP_FOR_BUFFERS.
-
-       * insdel.c (make_gap): Use enlarge_buffer_text.
-
-       * buffer.c: Move allocation with mmap here, from ralloc.c.  Change
-       conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
-       (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
-       from former r_alloc_* functions in ralloc.c.
-       (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
-       (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
-       (mmap_init) [REL_ALLOC_MMAP]: New function.
-       (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
-       functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
-       BUFFER_FREE.
-
-       * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
-       (enlarge_buffer_text): Add prototype.
-
-       * ralloc.c: Remove everything having to do with the use of mmap.
-
-2000-09-13  Gerd Moellmann  <gerd@gnu.org>
-
-       * sound.c (Fplay_sound): Doc fix.
-
-       * keyboard.c: Avoid some more compiler warnings.
-       (parse_tool_bar_item): Ignore cached key bindings.
-
-       * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
-       and allocation of Lisp data.
-
-2000-09-12  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
-       (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
-       defaults first.
-
-       * lread.c (Fload): Put code checking for recursive loads in #if 0.
-
-2000-09-12  Miyashita Hisashi  <himi@meadowy.org>
-
-       * ccl.c: Comment fixed.
-       (MAX_MAP_SET_LEVEL): Increased to 30.
-       (PUSH_MAPPING_STACK): Enclose with do-while block.
-       (POP_MAPPING_STACK): Likewise.
-       (stack_idx_of_map_multiple): New variable.
-       (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
-       (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
-       call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
-       (ccl_driver) <CCL_MapSingle>: Likewise.
-       (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
-       with the case where looking up process reaches to the end of
-       map-set, and call CCL programs as the above change.
-
-2000-09-11  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfns.c (png_load, jpeg_load): Declare some variables volatile
-       that might be clobbered by longjmp.
-       (check_x_display_info, x_decode_color, create_frame_xic)
-       (Fx_display_backing_store, Fx_display_visual_class)
-       (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
-
-       * lread.c (init_lread): Set Vloads_in_progress to nil.
-       (Fload): Show list of recursively loaded files, when signaling an
-       error.
-
-       * lread.c (Vloads_in_progress): New variable.
-       (record_load_unwind): New function.
-       (Fload): Check for recursive loads.
-       (syms_of_lread): Initialize Vloads_in_progress.
-       (read_integer, read1): Avoid some compiler warnings.
-
-       * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
-       compiler warnings.
-
-2000-09-11  Miles Bader  <miles@gnu.org>
-
-       * editfns.c (Fbuffer_string): Doc fix.
-
-2000-09-10  Gerd Moellmann  <gerd@gnu.org>
-
-       * ralloc.c (mmap_enlarge): Don't return 0 if successful.
-
-2000-09-09  Ken Raeburn  <raeburn@gnu.org>
-
-       * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
-       whether to include other header files.
-
-2000-09-09  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
-       by Fmemq as a boolean.
-
-2000-09-08  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
-
-2000-09-08  Gerd Moellmann  <gerd@gnu.org>
-
-       * ralloc.c (mmap_fd): Remove initializer which can make it
-       read-only in a dumped Emacs.
-       (mmap_fd_1): New variable.
-       (mmap_set_vars): Remove local `fd'.  Save mmap_fd in mmap_fd_1,
-       restore it from there.
-       (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
-       unconditionally so that mmap_fd can be initialized there.
-       (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
-       (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
-       (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
-
-       * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
-
-       * xdisp.c (dump_glyph_row): Fix printf format string.
-       (display_line, move_it_in_display_line_to): Avoid compiler warnings.
-
-       * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
-
-       * keymap.c (Fset_keymap_parent): Check for cycles in keymap
-       inheritance.
-
-       * xdisp.c (try_window_id): When trying to locate cursor in
-       unchanged rows at the top, handle the case that we can't find it.
-
-       * xterm.c (x_draw_glyphs): Handle case START and END are out
-       of bounds more carefully.
-
-2000-09-08  Dave Love  <fx@gnu.org>
-
-       * s/sol2.h (REL_ALLOC_MMAP): Define.
-       * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
-
-       * ralloc.c: Don't include string.h (redundant).
-       (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
-       [!MAP_ANON]: Include fcntl.h.
-       (mmap_fd) [REL_ALLOC_MMAP]: New variable.
-       (r_alloc, r_re_alloc, r_alloc_free)
-       (mmap_enlarge, mmap_set_vars): Use it.
-       (r_alloc_init_fd): New function.
-       (__morecore) [SYSTEM_MALLOC]: Don't declare.
-       (r_alloc_init): Call r_alloc_init_fd.  Conditionalize stuff on
-       malloc type.
-
-       * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
-       Remove vm-limit.o.
-
-       * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
-       change to __NetBSD__.
-
-2000-09-08  Kenichi Handa  <handa@etl.go.jp>
-
-       * search.c (compile_pattern): Check the multibyteness of cached
-       string and PATTERN.
-
-2000-09-08  Miles Bader  <miles@gnu.org>
-
-       * xfaces.c (default_face_vector): Function removed.
-       (Finternal_merge_in_global_face): Restore old global/local
-       attribute override order.  Use inline loop instead of calling
-       default_face_vector.
-
-2000-09-07  Gerd Moellmann  <gerd@gnu.org>
-
-       * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
-       (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
-       (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
-       where necessary, in case POINTER_TYPE is `void'.
-
-2000-09-07  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * frame.c (make_terminal_frame): Initialize frame foreground and
-       background colors to unspecified, for the initial instance of an
-       MSDOS frame.
-
-2000-09-07  Gerd Moellmann  <gerd@gnu.org>
-
-       * ralloc.c (mmap_find): Fix overlap computation.
-       (mmap_enlarge): Compute nbytes before trying to find an
-       overlapping region.
-
-       * xfaces.c (smaller_face): Compare font heights with `<' and `>'
-       instead of `!='.
-
-       * lread.c (syms_of_lread): Change value of regexp
-       Vbytecomp_version_regexp to not match some XEmacs-compiled files.
-
-       * xmenu.c (xdialog_show): When looking up the selection in
-       menu_items, take `quote' boundaries into account; this corresponds
-       to a nil ITEM in x-popup-dialog.
-
-2000-09-07  Kenichi Handa  <handa@etl.go.jp>
-
-       * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
-       not 0x81.
-       (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
-
-       * coding.c (encode_coding_sjis_big5): Use translation table for
-       encoding, not decoding.  Fix the handling of latin-jisx0201.
-       Check for the charset katakana-jisx0201 too.
-       (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
-       (detect_coding_sjis): Check the byte sequence more rigidly.
-
-2000-09-07  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfaces.c (Vparam_value_alist): New variable.
-       (syms_of_xfaces): Initialize it.
-       (Finternal_set_lisp_face_attribute): Avoid more consing.
-
-       * frame.c (Fframe_parameter): Handle `name' and `background-mode'
-       specially.
-       (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
-       (Qbackground_mode): New variable.
-       (syms_of_frame_1): Initialize Qbackground_mode.
-
-       * lisp.h (Qdisplay): Declare extern.
-
-       * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
-       change face on all frames, and change the default for new frames.
-
-2000-09-07  Dave Love  <fx@gnu.org>
-
-       * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
-
-2000-09-07  Kenichi Handa  <handa@etl.go.jp>
-
-       * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
-
-       * charset.c: Include composite.h
-       (lisp_string_width): New function.
-       (Fstring_width): Call lisp_string_width instead of strwidth.
-
-       * Makefile.in (charset.o): Depends on composite.h.
-
-       * process.c (read_process_output): Before inserting the decoded
-       text in the buffer, adjust the multibyteness.
-
-2000-09-06  Gerd Moellmann  <gerd@gnu.org>
-
-       * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
-       buffer's text buffer is null, map new memory.
-
-       * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
-       POINTER_TYPE and size_t.
-       (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
-       (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
-       (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
-       [REL_ALLOC_MMAP]: New macros.
-       (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
-       (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
-       [REL_ALLOC_MMAP]: New functions.
-
-       * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
-       before and after unexec.
-
-       * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
-       text buffers if necessary.
-
-       * buffer.h (R_ALLOC_DECLARE): Removed because unused.
-       (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
-       in prototypes.
-
-       * config.in (HAVE_MMAP): Add #undef.
-
-2000-09-05  Gerd Moellmann  <gerd@gnu.org>
-
-       * frame.c (Qdisplay_type): New variable.
-       (syms_of_frame_1): Initialize it.
-       (Fframe_parameter): New function that avoids consing.
-       (syms_of_frame): Defsubr it.
-
-       * buffer.c (Fother_buffer): Consider buffers as invisible when
-       they are displayed in a window on an invisible frame.
-
-       * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
-       get-largest-window always return nil.
-
-2000-09-04  Gerd Moellmann  <gerd@gnu.org>
-
-       * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
-       variable; recognize Emacs 19 elc files.
-
-2000-09-04  Miles Bader  <miles@gnu.org>
-
-       * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
-       before initially popping up the menu, so the menu doesn't flash
-       when the face settings are significantly different from the defaults.
-
-2000-09-04  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * regex.c (WIDE_CHAR_SUPPORT): New macro.
-       (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
-       (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
-       (BIT_UNIBYTE): Remove.
-       (re_match_2_internal): Delete corresponding code and streamline the
-       BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
-       (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
-       (re_wctype_t): New type.
-       (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
-       (regex_compile): Use them and fix handling of overly long char classes.
-
-2000-09-03  Andrew Innes  <andrewi@gnu.org>
-
-       * makefile.w32-in: Change to DOS line endings.
-
-       * s/ms-w32.h (ORDINARY_LINK): New define.
-
-       * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
-       (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
-
-       * makefile.w32-in (clean): Don't delete config.h and epaths.h.
-       (distclean): Delete them here instead.
-
-       * w32proc.c (compare_env): Convert to uppercase for comparison,
-       not lowercase, to match how the native Windows shell works.
-
-2000-09-03  Jason Rumney  <jasonr@gnu.org>
-
-       * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
-       CVS changes the line-ends when checking in/out on DOS/Windows.
-
-       * makefile.nt (emacs): Do not change directory to run temacs, as
-       the load-path is set relative to current directory.
-
-2000-09-03  Miles Bader  <miles@gnu.org>
-
-       * xterm.c (x_alloc_lighter_color_for_widget): New function.
-
-2000-09-02  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (redisplay_mode_lines): New function.
-       (display_mode_lines): Return number of mode lines displayed.
-       (echo_area_display): Use redisplay_mode_lines to draw garbaged
-       mode lines.  Don't temporarily bind redisplay-dont-pause to t.
-
-       * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
-       string.h and strings.h.
-       (index) [HAVE_INDEX]: Add prototype.
-
-       * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
-       (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
-
-       * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
-       (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
-
-2000-09-01  Gerd Moellmann  <gerd@gnu.org>
-
-       * lread.c (read1): Accept `?' as symbol constituent, for
-       compatiblity with XEmacs.
-
-2000-08-31  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
-       (struct re_pattern_buffer): Remove newline_anchor.
-       * regex.c: Keep namespace clean for GNU libc by renaming <fun>
-       to __<fun> and using `weak_alias (__<fun>, <fun>)'.
-       (re_max_failures, fail_stack): Use size_t rather than unsigned.
-       (regex_compile): For ^ and $, choose between buffer and line (beg|end)
-       depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
-       (print_compiled_pattern, re_search_2, mutually_exclusive_p)
-       (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
-       Get rid of references to newline_anchor.
-       (regcomp): Allocate and precompute a fastmap.
-
-2000-08-31  Gerd Moellmann  <gerd@gnu.org>
-
-       * lread.c (openp): GCPRO local variable `filename'.
-
-2000-08-30  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
-
-       * regex.c: Merge some changes from GNU libc.  Add prototypes.
-       (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
-       Use memcmp and memcpy instead of bcopy and bcmp.
-       (init_syntax_once): Use ISALNUM.
-       (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
-       (REG_UNSET_VALUE): Remove.  Use NULL instead.
-       (REG_UNSET, re_match_2_internal): Use NULL.
-       (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
-       New macros.
-       (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
-       (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
-       (regex_compile): In handle_interval, return an error rather than try to
-       unfetch the interval if we can't find the closing brace.
-       Obey the RE_NO_GNU_OPS syntax bit.
-       (TOLOWER): New macro.
-       (regcomp): Use it.
-       (regexec): Allocate regs.start and regs.end as one block.
-
-2000-08-30  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (echo_area_display): Check display_completed instead
-       of calling detect_input_pending.
-
-       * dispnew.c (update_frame): Only set display_completed here; move
-       the update_begin and update_end calls here from update_frame_1.
-       (update_frame_1): Don't set display_completed here, don't call
-       update_begin/update_end.
-
-       * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
-       instead of store_frame_param.
-
-2000-08-29  Gerd Moellmann  <gerd@gnu.org>
-
-       * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
-       desired window matrix hasn't been displayed, use the current row
-       instead.  Make sure that only those frame rows are updated for
-       which there exists a corresponding enabled desired row.
-
-2000-08-29  Miles Bader  <miles@gnu.org>
-
-       * xfaces.c (default_face_vector): New function.
-       (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
-
-2000-08-29  Gerd Moellmann  <gerd@gnu.org>
-
-       * lread.c (openp): Prevent temporary string passed to
-       Ffile_readable_p from being garbage collected.
-
-2000-08-28  Dave Love  <fx@gnu.org>
-
-       * keymap.c (store_in_keymap): Add `static' to declaration.
-
-2000-08-28  Gerd Moellmann  <gerd@gnu.org>
-
-       * emacs.c, callint.c, doc.c, editfns.c
-       (toplevel) [HAVE_STRING_H]: Include string.h.
-       (toplevel) [HAVE_STRINGS_H]: Include strings.h.
-       (index): Remove prototypes which might conflict with non-standard
-       definitions of index/strchr.
-
-       * s/usg5-3.h (index): Define only if not HAVE_INDEX.
-       (rindex): Define only if !HAVE_RINDEX.
-
-       * s/sco5.h (bcopy, bzero, bcmp): Don't define.
-
-       * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
-
-2000-08-28  Miles Bader  <miles@gnu.org>
-
-       * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
-       made inconsistent by a font-related attribute in FROM.
-       (merge_face_inheritance): Add function comment.
-
-2000-08-28  Kenichi Handa  <handa@etl.go.jp>
-
-       * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
-       the 4th arg (PREV_EVENT) Qt to suppress input method.
-
-2000-08-27  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * regex.c: Indent cpp directives and remove parens after `defined'.
-       (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
-       (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
-       (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
-       (re_compile_pattern): Use size_t for length.
-       (init_syntax_once): Move to a better place.
-       * regex.h: Merge changes from GNU libc.  Indent cpp directives.
-       (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
-
-       * syntax.c (back_comment): Detect cases where a comment-starter is
-       actually inside another comment as in:   /* a // b */ c // d \n.
-       Make it clear that `comstart_pos' is unused for nested comments.
-
-       * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
-       (KEYMAPP): New macro.
-       (Fkeymap_parent, Fset_keymap_parent): Use it.
-       (fix_submap_inheritance): Mark it static.
-       (define_as_prefix, describe_buffer_bindings, describe_command)
-       (describe_translation, describe_map): Complete prototypes.
-
-       * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
-
-       * keyboard.c (menu_bar_item): Detect duplicate entries for all items
-       to better match the key-lookup behavior.
-
-2000-08-27  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfaces.c (lface_fully_specified_p): Handle :inherit.
-       (Finternal_set_lisp_face_attribute): Fix typo in error message.
-
-2000-08-27  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
-       (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
-       (xterm.o): Depend on coding.h
-
-2000-08-26  Kenichi Handa  <handa@etl.go.jp>
-
-       * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
-       the corresponding '#endif'.
-
-2000-08-26  Miles Bader  <miles@gnu.org>
-
-       * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
-       * xfaces.c (QCinherit): New variable.
-       (syms_of_xfaces): Initialize it.
-       (LFACE_INHERIT): New macro.
-       (Finternal_get_lisp_face_attribute)
-       (merge_face_vector_with_property)
-       (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
-       (check_lface_attrs): Allow new types of face height.  Check
-       inherit attribute.
-       (CYCLE_CHECK): New macro.
-       (merge_face_inheritance): New function.
-       (merge_face_vectors): Merge inherited faces too.  Add F and
-       CYCLE_CHECK arguments.
-       (merge_face_vector_with_property, Finternal_merge_in_global_face)
-       (lookup_named_face, lookup_derived_face, realize_named_face)
-       (face_at_string_position, face_at_buffer_position):  Supply
-       new F and CYCLE_CHECK arguments to merge_face_vectors.
-       (merge_face_heights): New function.
-       (merge_face_vectors, merge_face_vector_with_property)
-       (Finternal_set_lisp_face_attribute): Call merge_face_heights to
-       handle relative face heights.
-       (lface_same_font_attributes_p): Compare heights using EQ.
-
-2000-08-26  Kenichi Handa  <handa@etl.go.jp>
-
-       * charset.c (char_to_string): Check the character validity.
-       (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
-
-2000-08-25  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * regex.c (PUSH_FAILURE_COUNT): New macro.
-       (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
-       Handle popping of a register's or a counter's data.
-       (POP_FAILURE_POINT): Use the new name.
-       (re_match_2_internal): Push counter data on the stack for succeed_n,
-       jump_n and set_number_at and remove misleading dead code in succeed_n.
-
-2000-08-25  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (redisplay_internal): If considering all windows on all
-       frames, update the display for each frame as soon as possible,
-       instead of first building all desired matrices for all frames, and
-       then updating them all.
-       (try_cursor_movement): Handle case that last_cursor.vpos is -1.
-
-2000-08-24  Gerd Moellmann  <gerd@gnu.org>
-
-       * bytecode.c (mark_byte_stack): Add a comment.
-
-       * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
-       (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
-       a graphical frame.
-
-2000-08-24  Kenichi Handa  <handa@etl.go.jp>
-
-       * minibuf.c (do_completion): Always use compare-string, not
-       string-equal because the latter doesn't pay attention to
-       multibyteness of strings.
-
-       * process.c (create_process): Don't setup raw-text coding here.
-       (Fopen_network_stream): Don't set coding->src_multibyte and
-       coding->dst_multibyte here.
-       (read_process_output): For process filter, return unibyte string
-       if default-enable-multibyte-characters is nil.
-       (send_process): If OBJECT is multibyte text, be sure to encoded it
-       by the specified coding system for the process.  Otherwise, setup
-       raw-text coding.
-       (init_process): Don't initialize default-process-coding-system here.
-
-2000-08-23  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
-       <scroll-down-aggressively>: Likewise.
-
-2000-08-23  Kenichi Handa  <handa@etl.go.jp>
-
-       * coding.c (encode_eol): Fix bug for the case of dst_bytes being
-       zero.  Set coding->produced_char correctly.
-
-2000-08-22  Andrew Innes  <andrewi@gnu.org>
-
-       * makefile.w32-in: New file.
-
-       * unexw32.c (unexec): Ignore old_name, and use the actual location
-       of the current executable instead.  Base new_name on this.
-
-       * w32proc.c (create_child): Remove reference to security
-       descriptor, which isn't needed and doesn't compile with mingw32.
-
-       * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
-       up dllimport attributes.
-       (x_update_window_end): Update prototype.
-
-       * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
-       extern, which screws up dllimport attributes.
-
-       * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
-       up dllimport attributes.
-
-       * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
-       screws up dllimport attributes.
-
-       * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
-       up dllimport attributes.
-       (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
-       screws up dllimport attributes.
-
-       * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
-       up dllimport attributes.
-
-       * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
-       screws up dllimport attributes.
-
-       * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
-       screws up dllimport attributes.
-
-       * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
-       up dllimport attributes.
-
-       * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
-       unnecessary extern, which screws up dllimport attributes.
-       (main): Ditto.
-
-       * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
-       up dllimport attributes.
-
-       * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
-       unnecessary extern, which screws up dllimport attributes.
-
-       * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
-       screws up dllimport attributes.
-
-       * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
-       up dllimport attributes.
-
-       * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
-
-       * w32bdf.c (search_file_line):
-       (set_bdf_font_info):
-       (seek_char):
-       (w32_get_bdf_glyph):
-       (w32_BDF_to_x_font): Fix compile warnings.
-
-       * w32menu.c: Include keyboard.h before frame.h.  Fix compile warnings.
-
-       * w32select.c: Include keyboard.h before frame.h.
-
-       * w32fns.c (max): Define macro.
-       (JOHAB_CHARSET): Define if not known.
-       (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
-       (Fx_show_tip): Synch with X version.
-
-       * w32xfns.c: Include keyboard.h before frame.h.
-
-       * w32fns.c: Include keyboard.h before frame.h.
-
-       * w32term.c: Include keyboard.h before frame.h.
-
-       * fontset.c: Include keyboard.h before frame.h.
-
-       * w32inevt.c: Include keyboard.h before frame.h.
-       (MOUSE_MOVED): Define if not known.
-
-       * minibuf.c: Include keyboard.h before frame.h.
-
-       * keyboard.c: Include keyboard.h before frame.h.
-
-       * indent.c: Include keyboard.h before frame.h.
-
-       * dispnew.c: Include keyboard.h before frame.h.
-
-       * buffer.c: Include keyboard.h before frame.h.
-
-       * alloc.c: Include keyboard.h before frame.h.
-
-       * print.c: Include keyboard.h before frame.h.
-
-       * process.c: Include keyboard.h before frame.h.
-
-       * scroll.c: Include keyboard.h before frame.h.
-
-       * sysdep.c: Include keyboard.h before frame.h.
-
-       * term.c: Include keyboard.h before frame.h.
-
-       * window.c: Include keyboard.h before frame.h.
-
-       * xdisp.c: Include keyboard.h before frame.h.
-       Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
-
-       * frame.c: Include keyboard.h before frame.h.
-
-       * w32heap.h: Undefine min, max.
-
-       * w32gui.h: Undefine min, max.
-
-       * unexw32.c: Change PUCHAR to PCHAR.
-       (PTR_TO_OFFSET): Cast ptr to unsigned char *.
-       (relocate_offset):
-       (get_section_info):
-       (copy_executable_and_dump_data): Remove unnecessary static defs.
-       (copy_executable_and_dump_data): Fix compile warnings.
-
-       * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
-
-       * w32console.c (min): Define macro.
-       (clear_frame, write_glyphs): Fix compile warning.
-
-       * w32proc.c (compare_env):
-       (find_child_console): Fix compile warning.
-
-       * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr.  Use
-       sys_errlist instead of _sys_errlist.
-       (get_emacs_configuration_options): New function.
-
-       * s/ms-w32.h (sys_nerr): Provide default definition.
-       (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
-       name with _ prepended.
-       (NSIG): Define if not known.
-       (get_emacs_configuration): Provide extern declaration.
-       (get_emacs_configuration_options): Provide extern declaration.
-       (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
-
-       * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
-       (map_w32_filename):
-       (read_unc_volume): Fix compile warning.
-
-       * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
-       definitions from being used.
-
-       * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
-
-       * w32.c (unc_volume_file_attributes):
-       (open_unc_volume): Make arg const.
-
-       * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
-       (read_input_waiting): Remove excess parameter.
-
-       * w32.c (init_environment): Call _access.
-       (check_windows_init_file): Call _close.
-       (init_user_info): Call _putenv.
-       (init_environment): Call _putenv and _strdup.
-       (init_ntproc): Reset volume info cache on startup.
-
-       * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
-       USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
-       cannot override the CRT malloc.
-
-       * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
-       (LINK_FLAGS): Append to original value of LINK_FLAGS.
-
-       * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
-       unless we are linking with a static CRT.
-       (RVA_TO_PTR): Cast result to unsigned char*.
-
-       * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
-       (add_volume_info): Use xstrdup.
-
-2000-08-22  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
-       (do_completion, Fminibuffer_complete_word): Use it.
-       (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
-       var so it can take non-boolean values.
-
-2000-08-21  Gerd Moellmann  <gerd@gnu.org>
-
-       * editfns.c (find_field): Formatting changes.
-       (toplevel): Some old-style function forward declarations
-       changed to prototypes, some new protypes added, some functions
-       made static.
-
-       * lisp.h (set_time_zone_rule): Add prototype.
-       (use_dialog_box): External declaration.
-
-       * keyboard.c (gen_help_event): Add parameter SIZE.
-       (kbd_buffer_events_waiting): Slightly rewritten.
-       (clear_event): New function.
-       (kbd_buffer_get_event): Use it, and clear the input_events of
-       HELP_EVENTs.
-       (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
-       don't fill the newly created array with nils.
-       (toplevel): Convert some old-style function forward declarations
-       to prototypes.
-
-       * keyboard.h (gen_help_event): Change prototype.
-
-       * xterm.c (XTread_socket): Change calls to gen_help_event.
-
-       * w32term.c (w32_read_socket): Change calls to gen_help_event.
-
-       * eval.c (Fmacroexpand): Doc fix.
-
-2000-08-20  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.h (x_display_info_for_display): Remove as this function
-       does not exist on W32.
-
-       * w32term.c (help_echo_window): New variable.
-       (syms_of_w32term): staticpro it.
-       (note_mode_line_highlight): Set it.
-       (XTextExtents16): Removed as there is no equivalent on W32.
-       (x_compute_glyph_string_overhangs): Incomplete body removed, as
-       the X way of doing this will not work for W32.
-       (w32_intersect_rectangles): Removed. Use IntersectRect API call.
-       (x_draw_image_foreground):  Avoid drawing outside of the clip area
-       when image doesn't have a mask.
-       (note_mouse_highlight): Process overlays in the right order of
-       priority. Set help_echo_window.
-       (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
-       because that's more visible for large images.
-
-       * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
-       name to single_keymap_panes.
-       (w32_menu_show): Set wv->title when dealing with titles.
-       (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
-
-2000-08-21  Miles Bader  <miles@gnu.org>
-
-       * minibuf.c (do_completion): Try again if we rewrite the input
-       string, but no completion was done, so that any completion message
-       will be correct.
-
-2000-08-20  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfaces.c (lface_equal_p): Compare strings differently.
-       (Qtty_color_alist, Vtty_defined_color_alist): New variables.
-       (realize_tty_face): Use them.
-       (syms_of_xfaces): Initialize new variables.
-       (map_tty_color): New function, extracted from realize_tty_face.
-       (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
-       foreground or background color, store the new color name in the
-       realized face; previous code trying to do this had no effect.
-       (realize_tty_face): Use map_tty_color.
-       (Fclear_face_cache): Set face_change_count and ensure thorough
-       redisplay.
-
-2000-08-19  Gerd Moellmann  <gerd@gnu.org>
-
-       * undo.c (record_first_change, record_marker_adjustment): Don't
-       use XBUFFER on last_undo_buffer which might not be a buffer.
-
-2000-08-18  Kenichi Handa  <handa@etl.go.jp>
-
-       * coding.c (decode_coding_string): Set members consumed,
-       consumed_char, produced, produced_char of *coding correctly.  If
-       decode_coding doesn't consume any byte, don't try anymore.
-       (encode_coding_string): Likewise.
-
-2000-08-18  Gerd Moellmann  <gerd@gnu.org>
-
-       * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
-       conditional have void type, for Standard C compilers.
-
-       * xdisp.c (redisplay_internal): Compare windows for equality with
-       EQ, instead of applying XWINDOW to something that might not
-       be a window.
-
-2000-08-18  Kenichi Handa  <handa@etl.go.jp>
-
-       * fontset.c (Finternal_char_font): Search only the selected frame
-       for a window of the current buffer.
-
-2000-08-18  Gerd Moellmann  <gerd@gnu.org>
-
-       * minibuf.c (do_completion): Use EQ instead of `!=' to compare
-       Lisp_Objects.
-
-       * keyboard.c (kbd_buffer_get_event): Handle the case that the
-       second half of a HELP_EVENT is found at the start of kbd_buffer.
-
-2000-08-18  Miles Bader  <miles@gnu.org>
-
-       * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
-
-       * editfns.c (save_restriction_save): Rewrite to use markers.
-       (save_restriction_restore): Rewrite to understand new form of data
-       saved by save_restriction_save.
-       (Fsave_restriction): Remove cautionary note in doc-string.
-
-2000-08-17  Gerd Moellmann  <gerd@gnu.org>
-
-       * fileio.c (build_annotations): Add a comment explaining the
-       return value of format-annotate-function.  Replace a spurious call
-       to Flength with a CONSP test.  Call format-annotate-function with
-       a fifth arg specifying how many times the function is been called
-       in a row, to let it choose temporary buffers appropriately.
-
-2000-08-17  Dave Love  <fx@gnu.org>
-
-       * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL.  Don't
-       declare make_temp_name twice.
-
-       * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
-       (unreadpure): Give it an arg.
-
-       * unexalpha.c: Prototype fatal_unexec, mark_x,
-       update_dynamic_symbols.  Declare unexec as void.
-
-       * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
-       [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
-
-       * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
-       [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
-
-       * alloca.c: Use #error.
-       [POINTER_TYPE]: Use it.
-
-       * eval.c (Fdefvar): Doc fix.
-
-       * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
-       INITIALIZE_INTERVAL.
-
-       * buffer.h: Avoid DECLARE_INTERVALS.
-
-       * config.in: Add size_t.
-
-2000-08-17  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * w16select.c (set_clipboard_data): If there's not enough memory
-       to put text into clipboard, return 1, as Fw16_set_clipboard_data
-       expects.  In case of other failures, return 3.
-       (system_error_msg): New error message.
-       (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
-       system_error_msg.
-
-2000-08-16  Gerd Moellmann  <gerd@gnu.org>
-
-       * term.c (write_glyphs): Also turn off inverse video after turning
-       off other appearances in case TS_exit_attribute_mode is not equal
-       to TS_end_standout_mode.
-       (insert_glyphs): Turn inverse video on/off for each run of glyphs
-       with the same face.
-       (turn_off_face): Reset standout_mode only if
-       TS_exit_attribute_mode has been output and TS_exit_attribute_mode
-       is equal to TS_end_standout_mode.
-
-2000-08-16  Kenichi Handa  <handa@etl.go.jp>
-
-       * coding.c (encode_coding): Fix the bug of not flushing ISO escape
-       sequence at the end of the source block.
-
-       * ccl.c (Fccl_program_p): Docstring modified.
-       (Fccl_execute): Likewise.
-       (Fccl_execute_on_string): Likewise.
-
-2000-08-16  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
-
-2000-08-16  Kenichi Handa  <handa@etl.go.jp>
-
-       The following changes are mainly to fix bugs of
-       encode/decode-coding-string failing if encoding/decoding return
-       CODING_FINISH_INSUFFICIENT_DST.  In addition, delete the global
-       variable conversion_buffer.
-
-       * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
-       decrement dst_end to avoid buffer overflow in the later call of
-       string_as_multibyte
-
-       * coding.h (conversion_buffer_size, conversion_buffer)
-       (get_conversion_buffer): Extern deleted.
-
-       * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
-       (conversion_buffer, conversion_buffer_size): Variables deleted.
-       (get_conversion_buffer): Function deleted.
-       (struct conversion_buffer): New structure.
-       (MAX_ALLOCA): New macro.
-       (allocate_conversion_buffer): New macro.
-       (extend_conversion_buffer, free_conversion_buffer): New functions.
-       (ccl_coding_driver): Set coding->result.
-       (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
-       this is the last block of source.
-       (encode_coding): Likewise.  Handle the source block as the last
-       one only when the whole source text is consumed.
-       (decode_coding_string): Handle the case that the output buffer is
-       too small to decode the whole source text.  Use
-       allocate_conversion_buffer, extend_conversion_buffer and
-       free_conversion_buffer, not get_conversion_buffer.
-       (encode_coding_string): Likewise.
-       (init_coding): Function deleted.
-       (init_coding_once): Delete code to initialize conversion_buffer_size.
-
-       * emacs.c (main): Don't call init_coding.
-
-       * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
-
-       * term.c (write_glyphs): Use a locally declared conversion_buffer.
-       (insert_glyphs): Likewise.
-
-       * w32console.c (write_glyphs): Use a locally declared
-       conversion_buffer.
-
-2000-08-15  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
-       member of display_info is NULL.
-
-2000-08-15  Gerd Moellmann  <gerd@gnu.org>
-
-       * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
-
-       * term.c (turn_off_face): Reset standout_mode when resetting
-       appearances with capability `me'.
-       (write_glyphs): Switch on inverse video before each face change.
-
-2000-08-14  Dave Love  <fx@gnu.org>
-
-       * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
-       [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
-       (lisp_free): Declare and make static.
-
-       * window.c: Fix embedded comment.
-       (syms_of_window): Fix doc string.
-
-2000-08-14  Gerd Moellmann  <gerd@gnu.org>
-
-       * keymap.c (push_key_description): If C without modifiers is < 32,
-       make sure to print `C-' before `M-', like in the manual.
-
-2000-08-11  Gerd Moellmann  <gerd@gnu.org>
-
-       * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
-       since they aren't relocated anymore.
-       (sxhash_string): Make sure returned hash code fits in a Lisp integer.
-
-       * xdisp.c (try_cursor_movement): Fix handling of cursor in
-       partially visible line which is smaller than the window's height.
-
-2000-08-11  Kenichi Handa  <handa@etl.go.jp>
-
-       * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
-       the multibyte form of eight-bit-control characters.
-       (Fccl_execute_on_string): Initialize ccl->multibyte.
-
-       * ccl.h (struct ccl_program): New member multibyte.
-
-       * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
-
-2000-08-11  Kenichi Handa  <handa@etl.go.jp>
-
-       * regex.c (regex_compile) <normal_char>: Pay attention to
-       multibyteness.
-       (analyse_first) <exactn>: Setup fastmap correctly for
-       eight-bit-control characters.
-
-2000-08-11  Kenichi Handa  <handa@etl.go.jp>
-
-       * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
-
-       * keyboard.c (make_lispy_event): Handle the new event type
-       multibyte_char_keystroke.
-
-       * xterm.c: Include coding.h.
-       (XTread_socket): Work around a bug of XmbLookupString.  If the
-       input is from XIM, decode it according to the current locale.  In
-       that case, generate multibyte_char_keystroke events.
-
-2000-08-11  Kenichi Handa  <handa@etl.go.jp>
-
-       * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
-       (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
-
-2000-08-10  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
-       (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
-       (move_it_in_display_line_to): Record iterator's ascent and descent
-       before producing glyphs, and restore them when we know the glyph
-       doesn't fit on the line.
-       (move_it_to): Restructured so that it's easier to debug.  If
-       moving to a vpos, and not moving to an x or character position,
-       stop as soon as the specified vpos is reached; don't move further
-       into that line because that might change the computed line height.
-       (try_cursor_movement): New function, extracted from the cursor
-       movement branch of redisplay_window.  If ending on a partially
-       visible line, don't try to scroll if the cursor line is taller
-       than the window.
-       (redisplay_window): Use try_cursor_movement.
-
-       * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
-       because that function doesn't cope with variable-height lines.
-
-       * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
-       box cursor because that's better visible for large images.
-
-2000-08-10  Miles Bader  <miles@gnu.org>
-
-       * w32term.c (note_mouse_highlight): Update calls to overlays_at.
-
-2000-08-10  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (Vmessages_buffer_name): New variable.
-       (message_dolog): Use it.
-       (syms_of_xdisp): Initialize it.
-
-2000-08-10  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
-       (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
-       redundant now that keyboard.h is included.
-
-2000-08-09  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * keyboard.c (kbd_buffer_events_waiting): New function.
-
-       * keyboard.h (kbd_buffer_events_waiting): Add prototype.
-
-       * msdos.c: Include keyboard.h.
-       (XMenuActivate): Empty no_event events from the event buffer.  If
-       no events are left after that, call clear_input_pending.
-       (mouse_clear_clicks): New function, code moved from mouse_init.
-       (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
-       mouse driver to ``forget'' any past clicks.
-
-       * Makefile.in (msdos.o): Depend on keyboard.h.
-
-2000-08-09  Gerd Moellmann  <gerd@gnu.org>
-
-       * lisp.h (input_pending): External declaration.
-
-       * dispextern.h (Qredisplay_dont_pause): Declare extern.
-
-       * xdisp.c (echo_area_display): Display thoroughly if input is
-       pending.  Bind redisplay-dont-pause to t during the redisplay.
-       in case input is pending.
-
-       * dispnew.c (Qredisplay_dont_pause): New variable.
-       (syms_of_display): Initialize and staticpro it.
-       (update_frame_1): Don't interrupt the display for pending input if
-       redisplay_dont_pause is set.
-
-       * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
-
-       * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
-
-2000-08-09  Miles Bader  <miles@lsi.nec.co.jp>
-
-       * callproc.c (Fcall_process): Terminate the unwind-protect around
-       the post-read-conversion of coding system.
-
-       * buffer.c (overlays_at): Add CHANGE_REQ parameter.
-       (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
-       * buffer.h (overlays_at): Update prototype.
-       * xdisp.c (next_overlay_change): Update call to overlays_at.
-       * xfaces.c (face_at_buffer_position): Likewise.
-       * textprop.c (Fget_char_property): Likewise.
-       * xterm.c (note_mouse_highlight): Likewise.
-
-       * minibuf.c (do_completion): Don't consider a simple change of
-       case as `completion'.
-
-2000-08-08  Ken Raeburn  <raeburn@gnu.org>
-
-       * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
-       * undo.c (record_delete): Make sure last_point_position_buffer is
-       a buffer before comparing pointers.
-
-       * coding.h (decode_coding_string): Declare.
-
-       * intervals.h (Fprevious_single_char_property_change): Declare.
-
-       * textprop.c (Fprevious_single_char_property_change): Don't do
-       arithmetic directly on lisp objects.
-
-       * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
-
-       * keyboard.h (menu_item_eval_property): Declare.
-
-       * xdisp.c (message_dolog): Save and protect string "*Messages*" to
-       reuse as buffer name, instead of recreating (and discarding) every
-       time a message is logged.
-       (with_echo_area_buffer): Make callback arg A2 a lisp object.
-       (current_message_1, truncate_message_1, set_message_1)
-       (display_echo_area_1, resize_mini_window_1): Signatures changed.
-       (current_message, truncate_echo_area, display_echo_area)
-       (resize_echo_area_axactly): Changed calls.
-
-       * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
-       Lisp object.
-       (Ffind_coding_systems_region_internal): First argument to Fappend
-       must be an integer, not a Lisp object.
-
-2000-08-08  Kenichi Handa  <handa@etl.go.jp>
-
-       * charset.c (Fchar_width): Doc fix.
-
-2000-08-08  Gerd Moellmann  <gerd@gnu.org>
-
-       * charset.c (Fstring_width): Doc fix.
-
-2000-08-07  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (start_display): When starting display on a continuation
-       line, clear ascent and descent members of the iterator structure;
-       the height of the continued line does not affect the height of the
-       continuation line.
-       (make_cursor_line_fully_visible): Do nothing if cursor is on a
-       line taller than the window.
-       (redisplay_window) <forced window start>: Handle case that the
-       middle of the window is not found in any row.
-       (dump_glyph_row): Show more information.
-       (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
-       first text line in a glyph matrix.
-
-       * xterm.c (x_draw_image_foreground): Avoid drawing outside
-       of the clip area when image doesn't have a mask.
-
-       * fns.c (sweep_weak_table): Fix survival conditions for
-       key-or-value and key-and-value weakness.
-
-       * .gdbinit (xhashtable): New command.
-
-       * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
-       tables out of the list of all weak hash tables.
-
-       * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
-       a new buffer is created, make sure echo_area_buffer[] references
-       the new buffer.
-
-2000-08-07  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
-       the doc string.
-
-2000-08-07  Kenichi Handa  <handa@etl.go.jp>
-
-       * syntax.c (skip_chars): Fix previous change.  Make the handling
-       of unibyte string consistent with that of regex search.
-
-2000-08-05  Gerd Moellmann  <gerd@gnu.org>
-
-       * xmenu.c (popup_get_selection): Use xfree instead of free.
-
-       * fileio.c (Finsert_file_contents): Use xfree instead of free.
-
-       * editfns.c (Ftranspose_regions): Use xfree instead of free.
-
-       * callproc.c (child_setup): Use xfree instead of free.
-
-       * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
-       instead of malloc.
-       (run_mac_command, closedir): Use `xfree' instead of `free'.
-
-       * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
-
-       * eval.c (error): Use xfree instead of free.
-
-       * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
-
-       * fns.c: Replace `illegal' with `invalid'.
-       (Fmake_hash_table, make_hash_table): Allow table size of 0.
-
-2000-08-05  Kenichi Handa  <handa@etl.go.jp>
-
-       * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
-       conversion.
-
-2000-08-04  Noah Friedman  <friedman@splode.com>
-
-       * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
-       docstring.
-
-2000-08-04  Gerd Moellmann  <gerd@gnu.org>
-
-       * syntax.c (skip_chars): Fix typo in error message.
-
-2000-08-04  Andreas Schwab  <schwab@suse.de>
-
-       * m/ia64.h: Moved from s/ia64.h.
-
-2000-08-04  Kenichi Handa  <handa@etl.go.jp>
-
-       * process.c (read_process_output): Big simplification.  Handle
-       composition and post-read-conversion of coding system correctly.
-       (send_process): Handle composition correctly.
-
-       * callproc.c (Fcall_process): Handle post-read-conversion of
-       coding system if any.
-
-       * coding.c (decode_coding_iso2022): More strict check for handling
-       single shifting.
-       (coding_restore_composition): Pay attention to the case that
-       cmp_data is not set properly (because of invalid code in the
-       source text).
-       (run_pre_post_conversion_on_str): Include text properties in the
-       resulting string.
-       (decode_coding_string): Set members of coding correctly.
-
-2000-08-03  Gerd Moellmann  <gerd@gnu.org>
-
-       * s/ia64.h: New file.
-
-       * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
-       Use NULL instead of 0 at the end of variable argument list of
-       XtVaGetValues and XtVaSetValues, because 0 fails on systems where
-       sizeof (int) < sizeof (void *).
-
-       * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
-       of variable argument lists of XtVaGetValues and XtVaSetValues.
-
-       * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
-       variable argument lists of XtVaGetValues and XtVaSetValues.
-
-2000-08-02  Gerd Moellmann  <gerd@gnu.org>
-
-       * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
-       (xrealloc, xmalloc): Use size_t.  Some callers adjusted.
-
-       * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
-       prototype.
-
-       * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
-       in call to Fsingle_key_description.
-
-       * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
-       Callers changed.
-
-2000-08-02  Colin Walters <walters@cis.ohio-state.edu>
-
-       * window.c (display_buffer_reuse_frames): New variable.
-       (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
-       frames displaying BUFFER.
-       (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
-
-2000-08-01  Miles Bader  <miles@gnu.org>
-
-       * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
-       when to constrain NEW_POS (they were pretty screwed up before).
-
-2000-07-31  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.c (run_msdos_command): Save and restore the master
-       environment, for the case that child_setup signals an error.
-       When mirroring slashes in DOS shell commands, don't fail when
-       argv[2] has embedded blanks.
-       (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
-       (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
-       (dos_ttraw): Call mouse_setup_buttons.
-
-       * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
-       using alloca; free it after run_msdos_command returns.
-
-2000-07-27  Dave Love  <fx@gnu.org>
-
-       * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
-       [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
-
-       * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
-
-2000-07-27  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * editfns.c (lisp_time_argument): Fix last change.
-
-2000-07-27  Gerd Moellmann  <gerd@gnu.org>
-
-       * fns.c (Fdelete): Make it work on vectors and strings in addition
-       to lists.
-
-       * fns.c (Qkey_or_value, Qkey_and_value): New variables.
-       (syms_of_fns): Initialize new variables.
-       (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
-       (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
-       weakness, with t meaning the same as `key-and-value'.
-
-2000-07-27  Kenichi Handa  <handa@etl.go.jp>
-
-       * coding.h (struct coding_system): Member safe_charset deleted.
-
-       * coding.c (Qsafe_charsets): This variable deleted.
-       (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
-       New variables.
-       (coding_safe_chars): New function.
-       (CODING_SAFE_CHAR_P): New macro.
-       (CHARSET_OK): New arg C.  Call CODING_SAFE_CHAR_P instead of
-       checking safe_charsets member of the coding system.  Caller changed.
-       (detect_coding_iso2022): New local variable safe_chars.
-       (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
-       safe_charsets member of the coding system.
-       (decode_coding_iso2022): New local variable safe_chars.
-       (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
-       (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
-       (ENCODE_ISO_CHARACTER): Arguments changed.  Caller changed.
-       (ENCODE_UNSAFE_CHARACTER): New macro.
-       (encode_coding_iso2022): New local variable safe_chars.  Check
-       unsafe chars.
-       (setup_coding_system): Delete the code to initialize
-       coding->safe_charses
-       (intersection, find_safe_codings): New functions.
-       (Ffind_coding_systems_region_internal): New function.
-       (syms_of_coding): Defsubr it.  Initialize Qsafe_chars,
-       Qsafe_cding_system.  Make Vchar_coding_system_table a Lisp
-       variable and initialize it.
-
-       * fns.c (char_table_ref_and_index): New function.
-
-       * lisp.h (char_table_ref_and_index): Add prototype.
-
-2000-07-26  Sam Steingold  <sds@gnu.org>
-
-       * editfns.c (lisp_time_argument): Added third argument `usec'.
-       (Ffloat_time): New built-in Lisp function.
-
-2000-07-26  Gerd Moellmann  <gerd@gnu.org>
-
-       * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
-       for the character code.
-
-       * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
-       GNU/Linux.
-
-       * xmenu.c (menu_highlight_callback): Call show_help_echo directly
-       if called for a popup menu.
-       (xmenu_show): Store help string in widget values.
-
-2000-07-26  Dave Love  <fx@gnu.org>
-
-       * syswait.h: Move some definitions.
-       (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
-       [!HAVE_SYS_WAIT_H]: Define things unconditionally.   More
-       perspicuous definitions.
-       (WTERMSIG): Fix bit pattern used.
-
-2000-07-26  Kenichi Handa  <handa@etl.go.jp>
-
-       * print.c (print_object): If vector printing is truncated, print
-       "..." to indicate it as well as the case of list printing.
-
-2000-07-25  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (next_element_from_display_vector): Improve comments.
-
-       * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
-       for the character code, and the rest for the face id as in 20.x.
-       (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
-
-       * window.c (window_display_table): Cleaned up.
-
-       * syntax.c (Fforward_word): Add last arg nil in call of
-       Fconstrain_to_field.
-
-2000-07-25  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * fileio.c (Frename_file) [DOS_NT]: If the file names are
-       identical but for the letter-case, don't call
-       barf_or_query_if_file_exists.
-
-2000-07-25  Miles Bader  <miles@gnu.org>
-
-       * editfns.c (find_field): Honor special `boundary' fields.
-       (Qboundary): New variables.
-       (syms_of_editfns): Initialize Qboundary.
-       (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
-       Use scan_buffer instead of find_before_next_newline, because it
-       allows us to detect the boundary case where there's a newline at
-       the search limit.
-       * lisp.h (Fconstrain_to_field): Update external declaration.
-
-2000-07-24  Gerd Moellmann  <gerd@gnu.org>
-
-       * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
-       if that is nil.
-
-2000-07-24  Dave Love  <fx@gnu.org>
-
-       * s/sunos4-0.h, s/sol2.h:
-       (LIBS_TERMCAP): Move from m/sparc.h.
-
-       * m/sparc.h (TERMINFO): Moved to system files (probably only
-       relevant for sunos4 judging by its vintage).
-       (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
-       __arch64__.
-
-2000-07-24  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
-       name to single_keymap_panes.
-
-2000-07-24  Andreas Schwab  <schwab@suse.de>
-
-       * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
-
-2000-07-24  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
-       parameters instead of using int parameters.  Expect FN to accept
-       EMACS_INT parameters.
-       (display_echo_area, resize_echo_area_axactly, current_message)
-       (truncate_echo_area, set_message_1): Call with_echo_area_buffer
-       with new argument list.
-       (resize_mini_window_1): New callback function.
-       (current_message_1, truncate_message_1, set_message_1): Change
-       parameter lists to the new format expected by with_echo_area_buffer.
-
-2000-07-24  Kenichi Handa  <handa@etl.go.jp>
-
-       * fontset.c (fontset_ref): Remove INLINE declaration.
-       (fontset_ref_via_base): Likewise.
-       (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
-       to downcase.
-
-2000-07-23  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.c (IT_note_mouse_highlight): Process overlays in the
-       correct order of priority.  If help echo was found in an overlay,
-       use that overlay as the object in which the help echo was found.
-
-2000-07-22  Miles Bader  <miles@gnu.org>
-
-       * textprop.c (Fprevious_single_char_property_change): The initial
-       property value should be from the position preceding POSITION, not
-       following it.
-
-2000-07-22  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * coding.c (syms_of_coding): Doc fix for
-       inhibit-iso-escape-detection.
-
-2000-07-21  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (note_mouse_highlight): Process overlays in the right
-       order of priority.
-
-       * keyboard.c (show_help_echo, gen_help_event): Extend comments.
-
-       * xterm.c (note_mouse_highlight): If help-echo was found in an
-       overlay, use that overlay as the object in which the help was found.
-
-       * window.c (foreach_window_1): Fix typo reversing an if-condition.
-
-       * window.c (foreach_window): Instead of a fake variable argument
-       list, take one USER_DATA argument.
-       (foreach_window_1): Likewise, and call callback functions with two
-       args, the window and USER_DATA.
-       (struct check_window_data): New struct.
-       (check_window_containing): Use it.
-       (window_from_coordinates): Set up a struct check_window_data for
-       foreach_window.
-       (add_window_to_list, freeze_window_start): Change parameters
-       according to new calling convention.
-
-       * window.h (foreach_window): Change prototype.
-
-       * buffer.c (Fprevious_overlay_change): Avoid memory leak.
-
-2000-07-21  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * xmenu.c (menu_help_callback): Call show_help_echo with
-       additional arguments OBJECT and POS.
-
-2000-07-21  Kenichi Handa  <handa@etl.go.jp>
-
-       * data.c (Faset): Allow storing any multibyte character in a
-       string.  Convert unibyte string to multibyte if necessary.
-
-       * xfns.c (x_encode_text): New function.
-       (x_set_name): Use x_encode_text.
-       (x_set_title): Likewise.
-
-       * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
-
-       * xterm.h (x_encode_text): Add prototype.
-
-2000-07-20  Dave Love  <fx@gnu.org>
-
-       * ccl.c (Fccl_execute_on_string): Don't check xmalloc return.  Use
-       xfree, not free.
-
-2000-07-20  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.c (help_echo_window): New variable.
-       (syms_of_msdos): Initialize and staticpro it.
-       (IT_note_mode_line_highlight): Set help_echo_window.
-       (IT_note_mouse_highlight): Ditto.
-       (dos_rawgetc): Store help_echo_window in the second event produced
-       for HELP_EVENTs.
-
-       * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
-       Record the object that generated the help echo and the position of
-       that object in help_echo_object and help_echo_pos.  Record that
-       some glyphs in a row are displayed in mouse-face.
-       (IT_update_begin): Don't clear mouse highlight unless one of the
-       enabled glyph rows is marked as being displayed in mouse-face.
-       (dos_rawgetc): Generate 2 events for HELP_EVENT.  Pass the object
-       and position recorded in help_echo_object and help_echo_pos to the
-       event queue.
-       (IT_menu_display): Accept a new argument PN: the pane number of
-       the current menu pane.  Record the pane number and the item
-       number of the item which has associated help string.
-       (XMenuActivate): Update the prototype for help_callback in
-       function declaration.  Call IT_menu_display with the current menu
-       pane number as an additional argument.  Call help_callback with
-       two additional arguments: the pane number and the item number of
-       the menu item associated with the help text.
-       (help_echo_object, help_echo_pos): New variables.
-       (syms_of_msdos): Initialize them and staticpro help_echo_object.
-
-       * msdos.h (XMenuActivate): Update prototype.
-
-2000-07-19  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
-       Add some more prototypes.
-
-       * xterm.c, xterm.h: Add some more prototypes.
-
-       * lisp.h (Fnext_single_char_property_change): Add prototype.
-
-       * dispnew.c (direct_output_for_insert): Remove confusing
-       outer local variable mouse_face_overwritten_p.
-       (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
-
-       * alloc.c (allocate_string_data): Don't copy old string contents.
-
-2000-07-19  Kenichi Handa  <handa@etl.go.jp>
-
-       * coding.c (code_convert_region): Delete text properties before
-       shrinking the conversion region.
-
-2000-07-18  Gerd Moellmann  <gerd@gnu.org>
-
-       * dispnew.c (update_text_area): Write the whole row if it
-       has mouse-face in it.
-
-       * xfaces.c (face-alternative-font-family-alist): Remove
-       DEFVAR_LISP; staticpro instead.
-
-       * xmenu.c (menu_help_callback): Call show_help_echo with
-       new arguments.
-
-       * keyboard.c (show_help_echo): Add parameter WINDOW.
-       (read_char): Call show_help_echo with window extracted from Lisp
-       help event.
-       (gen_help_event): Add parameter WINDOW.
-
-       * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
-
-       * xterm.c (help_echo_window): New variable.
-       (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
-       (XTread_socket): Pass help_echo_window to gen_help_event.
-       (syms_of_xterm): Initialize and staticpro help_echo_window.
-
-2000-07-18  Dave Love  <fx@gnu.org>
-
-       * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
-
-2000-07-18  Gerd Moellmann  <gerd@gnu.org>
-
-       * alloc.c (allocate_string_data): If string had already data
-       assigned, copy old contents to new string data.
-
-       * coding.c (syms_of_coding): Fix typo in spelling of variable
-       `inhibit-iso-escape-detection'.
-
-       * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
-
-       * Makefile.in: Add dependencies on dispextern.h.
-       (alloca.o): Don't define malloc and define EMACS_FREE instead of
-       `free'; both can conflict with system header files.
-
-2000-07-18  Kenichi Handa  <handa@etl.go.jp>
-
-       * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
-       undefined.
-
-2000-07-18  Dave Love  <fx@gnu.org>
-
-       * window.c (Fwindow_list): Declare arg `window'.
-
-2000-07-18  Kenichi Handa  <handa@etl.go.jp>
-
-       * coding.c (setup_coding_system): Don't override the explicitly
-       specified designations.
-
-2000-07-15  Miles Bader  <miles@gnu.org>
-
-       * editfns.c (char_property_eq, char_property_stickiness): Renamed
-       from `text_property_eq' and `text_property_stickiness', respectively.
-       (find_field, Fconstrain_to_field, char_property_eq)
-       (char_property_stickiness): Changed to call char-property functions
-       instead of text-property-only ones.
-
-       * textprop.c (Fnext_single_char_property_change): Made a subr (was
-       `next_single_char_property_change').  Do more error checking, and
-       cleanup limit behavior.
-       (Fprevious_single_char_property_change): New function.
-       (syms_of_textprop): Initialize new subrs.
-
-       * xdisp.c (display_prop_end, invisible_text_between_p):
-       Call Fnext_single_char_property_change instead of
-       next_single_char_property_change.
-
-2000-07-15  Jason Rumney  <jasonr@gnu.org>
-
-       * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
-       after menu is finished with.
-       (add_menu_item): Only consider wv->title as a menu title.
-       (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
-
-       * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
-       null title.
-       (FONT_REGEXP): Remove unused macro, and its sub-components.
-       (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
-
-       * w32term.c (help_echo_object, help_echo_pos): New variables.
-       (note_mode_line_highlight): Store additional information about the
-       help-echo in help_echo_object and help_echo_pos.  Check both
-       `local-map' and `keymap' properties for changing the cursor
-       (note_mouse_highlight): Store additional information about the
-       help-echo in help_echo_object and help_echo_pos.
-       (note_tool_bar_highlight): Set help_echo_object to nil and
-       help_echo_pos to -1.
-       (w32_read_socket): Use gen_help_event instead of filling
-       input_events manually.
-       (syms_of_w32term): Staticpro help_echo_object.
-       (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
-       set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
-       (x_clear_mouse_face): New function.
-       (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
-       (x_update_window_begin): No need to turn off the mouse
-       highlight here.
-       (show_mouse_face): Set the mouse_face_p flag of glyph rows
-       depending on whether they contain glyphs highlighted in mouse-face.
-       (x_fill_stretch_glyph_string): Consume runs of stretch
-       glyphs instead of a single one.
-       (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
-       with new argument list.
-       (x_set_glyph_string_gc): Make sure the face's GC is valid.
-       (x_append_glyph, x_append_composite_glyph)
-       (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
-       changes in struct glyph starting 1999-12-27. See comments for
-       xterm.c on 2000-07-05.
-
-2000-07-14  Sam Steingold  <sds@gnu.org>
-
-       * xfaces.c (realize_x_face): Fix the last patch:
-       check `default_face' before dereferencing.
-
-2000-07-14  Dave Love  <fx@gnu.org>
-
-       * syntax.c (back_comment): Add null default in switch (for pcc).
-
-2000-07-14  Kenichi Handa  <handa@etl.go.jp>
-
-       * xfaces.c (realize_x_face): Make fontset using the base of the
-       default_face's fontset, not using the default fontset.
-
-       * coding.c (inhibit_iso_escape_detection): New variable.
-       (syms_of_coding): Make it a Lisp variable.
-       (detect_coding_iso2022): If inhibit_iso_escape_detection is
-       nonzero, ignore ISO2022's escape sequence.
-
-2000-07-14  Gerd Moellmann  <gerd@gnu.org>
-
-       * alloca.c (malloc) [emacs]: Define as xmalloc.
-
-       * xfns.c (Fx_show_tip): If frame parameters contain a position,
-       use that instead of the mouse position.  Add parameters DX and DY.
-
-       * dispextern.h (Fx_show_tip): Adjust number of parameters
-       in prototype.
-
-       * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
-       if HELP is a function, call it with OBJECT and POS as parameters
-       to get the help to display.
-       (gen_help_event, kbd_buffer_store_help_event): New functions.
-       (kbd_buffer_get_event): Construct the Lisp help-event differently.
-       (read_char): Call show_help_echo with new parameters.
-
-       * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
-       Add prototypes.
-
-       * xterm.c (help_echo_object, help_echo_pos): New variables.
-       (note_mode_line_highlight): Store additional information about the
-       help-echo in help_echo_object and help_echo_pos.  Check both
-       `local-map' and `keymap' properties for changing the cursor
-       (note_mouse_highlight): Store additional information about the
-       help-echo in help_echo_object and help_echo_pos.
-       (note_tool_bar_highlight): Set help_echo_object to nil and
-       help_echo_pos to -1.
-       (XTread_socket): Use gen_help_event instead of filling
-       input_events manually.
-       (syms_of_xterm): Staticpro help_echo_object.
-
-       * xmenu.c (menu_highlight_callback): Use
-       kbd_buffer_store_help_event instead of setting up and input_event
-       structure manually.
-
-       * xdisp.c (eval_form): GCPRO argument sexpr.
-       (call_function): New function.
-       (handle_single_display_prop): Use call_function and FUNCTIONP
-       instead of checking whether if font_height is a symbol and
-       using eval_form.
-
-       * eval.c (internal_condition_case_2): New function.
-
-       * lisp.h (FUNCTIONP): New macro.
-       (internal_condition_case_2, call_function): Add prototypes.
-
-       * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
-       (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
-       Always set `arg' member of input_events.
-       (construct_menu_click): Unused function removed.
-
-       * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
-
-       * w32term.c (construct_mouse_click, construct_mouse_wheel)
-       (construct_drag_n_drop, x_scroll_bar_handle_click)
-       (w32_read_socket): Always set `arg' member of input_events.
-
-       * keyboard.c (show_help_echo): Use eval_form.  Add comment.
-
-       * lisp.h (eval_form): Add prototype.
-
-       * xdisp.c (eval_form): Make it externally visible.
-
-2000-07-13  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (x_handle_tool_bar_click): Store the frame in the
-       frame_or_window slot of TOOL_BAR_EVENT input events instead of
-       consing.  For prefix events, store the frame in the `arg' slot of
-       the event, otherwise store the key there.
-       (XTread_socket): Instead of consing, use the frame_or_window slot
-       of HELP_EVENTs for the frame, and the `arg' slot for the help string.
-
-       * xmenu.c (menu_highlight_callback): Store help string in the
-       `arg' member of the input event; don't cons.
-       (menubar_selection_callback): Use the `arg' slot of input events
-       to queue additional information, instead of consing.
-
-       * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
-
-       * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
-       TOOL_BAR_EVENTs.
-       (w32_read_socket): Adapt to changes in HELP_EVENTs.
-
-       * w32menu.c (menubar_selection_callback): Use the `arg' slot of
-       input events to queue additional information, instead of consing.
-
-       * keyboard.c (kbd_buffer_gcpro): Renamed from
-       kbd_buffer_frame_or_window.  Now used for all Lisp objects
-       referenced from the input queue.
-       (kbd_buffer_store_event): Always use structure assignment for
-       copying input events.  Record all Lisp objects referenced from
-       events in kbd_buffer_gcpro.
-       (kbd_buffer_get_event): Construct Lisp `help-echo' events
-       differently from input events.  Test for prefix menu_bar_events
-       and TOOL_BAR_EVENTs differently.  Reset all slots used by an input
-       event in kbd_buffer_gcpro to nil.
-       (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
-       frame_or_window is equal to its arg member as prefix events.
-       (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
-       used by an input event to nil.
-       (init_keyboard): Use two times the size of the input queue
-       for kbd_buffer_gcpro.
-       (syms_of_keyboard): Likewise.
-
-       * emacs.c (handle_USR2_signal, handle_USR1_signal):
-       Use USER_SIGNAL_EVENT.
-
-       * termhooks.h (struct input_event): Add member `arg'.
-       (MENU_BAR_EVENT): Renamed from menu_bar_event.
-       (USER_SIGNAL_EVENT): Renamed from user_signal.
-
-       * xfaces.c (ASET): Remove definition.
-
-       * lisp.h (AREF, ASET, ASIZE): New macros.
-
-       * fontset.c (AREF, ASIZE): Remove definitions.
-
-       * fns.c (AREF): Remove definition.
-
-       * composite.c (AREF): Remove definition.
-
-2000-07-12  Gerd Moellmann  <gerd@gnu.org>
-
-       * dispnew.c (redraw_overlapped_rows): Add missing local.
-       (scrolling_window): Remove debug code.
-
-       * xdisp.c (try_window_reusing_current_matrix, try_window_id):
-       Before scrolling, turn off a mouse-highlight in the window
-       being scrolled.
-
-       * xterm.c (x_update_window_end): Add parameter
-       MOUSE_FACE_OVERWRITTEN_P.  If set, arrange for a mouse-highlight
-       redisplay in XTframe_up_to_date.
-       (x_clear_mouse_face): New function.
-       (x_redisplay_interface): Add pointer to x_clear_mouse_face.
-
-       * dispnew.c (make_current): Preserve the mouse_face_p flag of the
-       current glyph row.
-       (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P.  Set
-       it when any row is written to that contains glyphs highlighted in
-       mouse-face.
-       (update_window): Call the window update end hook with new
-       parameter MOUSE_FACE_OVERWRITTEN_P.
-       (direct_output_for_insert): Give up if row contains mouse-face.
-
-       * dispextern.h (struct redisplay_interface): Add parameter
-       MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
-       (clear_mouse_face): New function pointer member.
-
-2000-07-11  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * syntax.c (back_comment): Use one switch rather than a few `if's.
-       Obey open_paren_in_column_0_is_defun_start.
-       When reverting to the `slow' method, try to nicely handle the case
-       of nested comments by checking that the comment-starter we found
-       does indeed match the comment-ender.
-       (scan_sexps_forward, scan_sexps_forward):
-       Ignore excessive opening parenthesis rather than throwing an error.
-
-2000-07-11  Gerd Moellmann  <gerd@gnu.org>
-
-       * doc.c (Fsubstitute_command_keys): Handle case that a GC
-       in Fwhere_is_internal or get_keymap_1 relocates string contents.
-
-       * dispnew.c (direct_output_forward_char): Give up if currently
-       displaying a message instead of the minibuffer contents.
-
-       * xterm.c (x_update_window_begin): No need to turn off the mouse
-       highlight here.
-       (show_mouse_face): Set the mouse_face_p flag of glyph rows
-       depending on whether they contain glyphs highlighted in mouse-face.
-
-       * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P.  If set,
-       compare the mouse_face_p flags of both rows.
-
-       * dispextern.h (struct glyph_row): Add flag mouse_face_p.
-
-2000-07-11  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * keyboard.c (show_help_echo): Accept additional parameter
-       ok_to_overwrite_keystroke_echo.
-       (read_char): Call show_help_echo with a zero
-       ok_to_overwrite_keystroke_echo argument.
-       * keyboard.h (show_help_echo): Update prototype of show_help_echo.
-       * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
-       ok_to_overwrite_keystroke_echo argument.
-       * w32menu.c (w32_menu_display_help): Call show_help_echo with
-       non-zero ok_to_overwrite_keystroke_echo argument.
-
-2000-07-10  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (try_window_id): If changes are all below what is
-       displayed in the window, and point is in the window, we still
-       might have to find point on the display.
-
-       * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
-       glyphs instead of a single one.
-       (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
-       with new argument list.
-       (x_set_glyph_string_gc): Make sure the face's GC is valid.
-
-       * keymap.c (get_keymap_1): Add comment that this function can GC.
-       (where_is_internal_2, where_is_internal_1): Add GCPROs, add
-       comment that functions can GC.
-       (Fset_keymap_parent): GCPRO arg KEYMAP.
-
-2000-07-10  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.c (XMenuActivate): After exiting the menu, restore the
-       echo area message and erase it.
-
-2000-07-10  Kenichi Handa  <handa@etl.go.jp>
-
-       * fontset.c (Ffontset_info): Make the return value more compatible
-       with that of Emacs 20.
-
-2000-07-07  Gerd Moellmann  <gerd@gnu.org>
-
-       * eval.c (Fsignal): Handle case that backtrace_list is null.
-
-2000-07-07  Kenichi Handa  <handa@etl.go.jp>
-
-       * ccl.c (Fccl_execute): Typo fixed.
-
-2000-07-06  Gerd Moellmann  <gerd@gnu.org>
-
-       * window.c (window_loop): Add missing gcpro1 local variable.
-
-       * window.c (Fwindow_list): Reverse list at the end.
-       (candidate_window_p): Add parameter OWINDOW.  ALL_FRAMES nil
-       means allow windows on OWINDOW's frame, only.
-       (window_loop): Simplified; use Fwindow_list.
-
-       * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
-
-2000-07-05  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (XTread_socket): Increment handling_signal at the start,
-       decrement it at the end.
-
-       * eval.c (handling_signal): New variable.
-       (Fsignal): Abort if handling_signal is non-zero.
-
-       * lisp.h (handling_signal): External declaration.
-
-       * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
-
-2000-07-05  Ken Raeburn  <raeburn@gnu.org>
-
-       Sound support for NetBSD through "Linux emulation" support:
-       * config.in (HAVE_SOUNDCARD_H): Undef.
-       (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
-       * Makefile.in (LIBSOUND): New variable.
-       (LIBES): Include it.
-       * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
-       (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
-       (vox_open): Use DEFAULT_SOUND_DEVICE.
-       * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
-
-2000-07-05  Gerd Moellmann  <gerd@gnu.org>
-
-       * print.c (print_error_message): If Vsignaling_function is set,
-       show it in *Messages*.
-
-       * lisp.h (Vsignaling_function): External declaration.
-
-       * eval.c (Vsignaling_function): New variable.
-       (Fsignal): Compute it.
-       (syms_of_eval): Staticpro it.
-
-2000-07-05  Dave Love  <fx@gnu.org>
-
-       * syswait.h: Use the autoconf recommended approach.  Old code
-       #if'd out in case we need to revert.
-
-       * config.in (HAVE_SYS_WAIT_H): Added.
-
-2000-07-05  Andrew Innes  <andrewi@gnu.org>
-
-       * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
-       when non-NULL instead of __morecore, to take account of buffer
-       memory.  This also solves a problem with spurious memory warnings
-       on Windows.
-
-       * ralloc.c: Make real_morecore non-static.
-
-       * eval.c (internal_condition_case): Comment out abort if
-       interrupt_input_blocked is not zero.
-
-       * makefile.nt: Add support for `bootstrap' and related targets.
-       Include minimal debug info in emacs.exe in release build.
-       Remove all dependencies on lisp.h, and fixup some others.
-
-       * w32.c (init_environment): Install code from 20.7 for providing
-       default values for environment variables, based on the
-       executable's own location.
-       (map_w32_filename): Handle filenames that are longer than MAX_PATH.
-       (sys_socket): Install socket inheritance bug fix from 20.7.
-
-       * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
-       here via blockinput.h).
-
-2000-07-05  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * w32menu.c (w32_menu_display_help):
-       * xmenu.c (menu_help_callback): Use show_help_echo.
-
-       * keyboard.h (show_help_echo): Declare.
-
-       * keyboard.c (show_help_echo): New function, extracted from read_char.
-       Feval its `msg' argument if it's a cons cell.
-       (read_char): Use it.
-       (follow_key): Pass `autoload' to get_keyelt.
-
-       * xterm.c (note_mode_line_highlight, note_mouse_highlight)
-       (note_tool_bar_highlight, XTread_socket):
-       * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
-       (dos_rawgetc):
-       * w32term.c (note_mode_line_highlight, note_mouse_highlight)
-       (note_tool_bar_highlight, w32_read_socket):
-       Do not gratuitously ignore non-string `help-echo' properties.
-
-2000-07-05  Gerd Moellmann  <gerd@gnu.org>
-
-       * eval.c (Feval): Put check for interrupt_input_block in #if 0.
-
-       * window.c (delete_all_subwindows): Reset Vwindow_list.
-
-       * xterm.c (x_append_glyph, x_append_composite_glyph)
-       (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
-       changes in struct glyph starting 1999-12-27.  Some bit-fields of
-       struct glyph were not set, which made glyphs unequal when compared
-       with GLYPH_EQUAL_P.  Redisplay outputs such glyphs, and flickering
-       effects were the result.  This also depended on the contents of
-       memory returned by xmalloc.  If flickering happens again, activate
-       the code in clear_glyph_row that's in #if 0.  If the flickering is
-       gone with that, chances are that it is caused by something similar.
-
-       * dispnew.c (clear_glyph_row): Add debug code in #if 0.
-
-       * dispextern.h: Add some comments.
-
-       * window.c (add_window_to_list): Add parameter LIST.
-       (window_list): Order list so that, for each frame, windows are
-       in canonical order, and so that frames appear in the list in
-       the order given by Vframe_list.
-       (next_window): Reverse the handling of NEXT_P.
-
-2000-07-04  Gerd Moellmann  <gerd@gnu.org>
-
-       * window.c (Vwindow_list): New variable.
-       (make_window, delete_window): Set Vwindow_list to nil.
-       (check_window_containing): New function.
-       (window_from_coordinates): Rewritten.
-       (add_window_to_list, window_list, candidate_window_p)
-       (decode_next_window_args, next_window): New functions.
-       (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
-       (Fwindow_list): New function.
-       (Fother_window): Cleaned up.
-       (foreach_window): Add a longer "variable argument list".  Let
-       callback function return 0 to indicate that cycling over windows
-       should stop.
-       (foreach_window_1): Likewise.
-       (freeze_window_start): Return int.
-       (init_window): New function.
-       (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
-
-       * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
-       input_event with bzero.
-       (main): Call init_window.
-
-       * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
-       a menu filter.
-
-2000-07-04  Kenichi Handa  <handa@etl.go.jp>
-
-       * composite.h (make_composition_value_copy): Extern it.
-
-       * composite.c (make_composition_value_copy): New function.
-
-       * editfns.c (Fformat): While copying text properties, make each
-       composition property value a copy.
-
-       * fns.c (concat): While copying text properties, make each
-       composition property value a copy.
-
-2000-07-03  Gerd Moellmann  <gerd@gnu.org>
-
-       * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
-
-       * fns.c (sweep_weak_table): Mark only objects that are not
-       marked already.
-
-       * frame.c (next_frame, prev_frame): If MINIBUF is a window,
-       include those frames as candidates which have their focus
-       redirected to the minibuffer frame.
-
-2000-07-03  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * fns.c (Fputhash): Return `value' rather than nil.
-
-2000-06-30  Gerd Moellmann  <gerd@gnu.org>
-
-       * frame.c (next_frame): Don't check focus redirection in case
-       MINIBUF is a window.  Doing so excludes frames using MINIBUF
-       unless their focus is redirected, which contradicts the
-       specification of next-frame, and leads to infinite loops in
-       certain situations when cycling through windows with next-window.
-
-2000-06-30  Kenichi Handa  <handa@etl.go.jp>
-
-       * coding.c (code_convert_region): Even if the length of text is
-       zero, try to convert it if coding->type is coding_type_ccl.
-       (decode_coding_string, encode_coding_string): Likewise.
-
-2000-06-28  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
-       the display if windows_or_buffers_changed.
-
-       * dispnew.c (struct row_entry): New structure.
-       (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
-       (row_table_size, old_lines, new_lines, old_lines_size)
-       (new_lines_size, run_pool, runs_size, runs): New variables.
-       (add_row_entry): New function.
-       (scrolling_window): Use data structures allocated with xmalloc and
-       held in global variables, instead of allocating them with alloca and
-       holding them in local variables.  Use a larger hash table whose
-       size depends on glyph matrix sizes.  Don't use bzero to clear the
-       hash table; instead, clear used slots only.
-
-       * fns.c (next_almost_prime): Make it externally visible.
-
-       * lisp.h (next_almost_prime): Add prototype.
-
-       * s/isc4-0.h (sigunblock): Define.
-
-       * s/sco5.h (sigunblock): Define.
-
-2000-06-27  Dave Love  <fx@gnu.org>
-
-       * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
-       (moved to osf5-0.h).
-       [!NOT_C_CODE]: Protect string.h stuff.
-
-       * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
-       (sys_siglist, NSIG): Definitions moved here from osf1.h.
-
-2000-06-27  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (resize_mini_window): Subtract the extra line spacing
-       below the last line from the needed window height.
-
-2000-06-26  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
-       (Fwidget_get): Use it.
-       (syms_of_fns): Defsubr it.
-
-2000-06-26  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
-       display info for XIM.
-       (xim_open_dpy): Likewise.
-       (xim_close_dpy): Don't free the display info's XIM.
-
-       * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
-
-       * config.in (USE_XIM): New define.
-
-       * keymap.c (get_keyelt): For menu-items containing a `:filter
-       FILTER', apply FILTER to the menu-item's definition to get the
-       real definition to use.
-
-       * lisp.h (QCfilter): External declaration.
-
-       * xfns.c (Fimage_size): New function.
-       (syms_of_xfns): Defsubr it.
-
-2000-06-26  Andreas Schwab  <schwab@suse.de>
-
-       * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
-       Fstring_as_unibyte.
-
-2000-06-25  Dave Love  <fx@gnu.org>
-
-       * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
-
-       * Makefile.in (blockinput.h): Depend on atimer.h.
-       (atimer.h): Depend on systime.h.
-
-       * blockinput.h: Protect against multiple inclusion.  Include atimer.h.
-
-       * atimer.h: Protect against multiple inclusion.  Include systime.h.
-
-       * lisp.h (swap_in_global_binding): Declare.
-
-2000-06-24  Ken Raeburn  <raeburn@gnu.org>
-
-       * process.c (Fopen_network_stream): Turn off atimers for duration
-       of call to connect.  (Patch from Gerd.)
-
-2000-06-23  Dave Love  <fx@gnu.org>
-
-       * ralloc.c: Maybe include unistd.h
-
-       * emacs.c (setgrp): Undefine before defining.
-       (malloc_warning, set_time_zone_rule, index): Prototype.
-
-       * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
-       HAVE_STRUCT_TIMEZONE.
-
-       * s/osf1.h: Move string.h hack here from alpha.h and make it
-       conditional.
-       (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
-       _XOPEN_SOURCE.
-       (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
-       (SOCKLEN_TYPE): Don't define.
-
-       * m/alpha.h: Remove string.h hack.
-
-       * s/osf5-0.h: New file.
-
-       * filelock.c: Use feature tests for fcntl.h, string.h.  Don't
-       include time.h, done by systime.h.
-       [__FreeBSD__]: Remove redundant includes.
-
-       * callproc.c (setpgrp): Undefine before defining.
-       (delete_temp_file): Return Qnil to avoid warning.
-
-       * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
-
-       * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
-       HAVE_X_WINDOWS.
-
-       * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
-
-       * composite.h (compose_text): Declare.
-
-       * xterm.c: Don't include sys/types.h unconditionally.  Don't
-       protect its inclusion with !USG (following xmenu.c).
-
-2000-06-23  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfns.c (x_create_tip_frame): Initialize frame's colors like
-       in x_create_frame.
-
-2000-06-23  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * coding.c (decode_eol_post_ccl): Special handling for undecided
-       and inconsistent EOL types.
-
-2000-06-22  Gerd Moellmann  <gerd@gnu.org>
-
-       * xrdb.c (x_load_resources): Add default resource for scroll bar's
-       trough color and main window's background color.
-
-       * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
-
-       * xterm.h (Xt_app_con): External declaration.
-
-       * widget.c (EmacsFrameRealize): Fix typo.
-
-       * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
-
-       * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
-       (handle_invisible_prop): Record the start of invisible text in
-       it->add_overlay_start.
-       (struct overlay_entry): Add member `overlay'.
-       (handle_overlay_change): Simplify.
-       (next_overlay_string): After having processed overlay strings at the
-       end of the buffer, record that fact in
-       it->overlay_strings_at_end_processed_p.
-       (compare_overlay_entries): If before- and after-strings come
-       from the same overlay, let before-strings come first.
-       (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
-       (load_overlay_strings): Take it->add_overlay_start into account
-       when adding overlay strings.
-
-       * dispextern.h (struct it): Add member add_overlay_start.
-
-2000-06-22  Dave Love  <fx@gnu.org>
-
-       * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
-
-       * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
-
-2000-06-22  Kenichi Handa  <handa@etl.go.jp>
-
-       * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
-       is greater than 0.
-
-2000-06-21  Dave Love  <fx@gnu.org>
-
-       * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
-
-2000-06-21  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * syntax.c (back_comment): Simplify string-parity counting (with
-       the added benefit of handling multiple string-styles as long as
-       they are not intertwined).
-       Jump to the slow code as soon as a comment starter is found in
-       a "string_lossage" position.  Fixes the case:  " /* " /* " */.
-
-2000-06-21  Dave Love  <fx@gnu.org>
-
-       * Makefile.in: Use GETLOADAVG_LIBS.
-
-       * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
-       _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
-
-2000-06-20  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * syntax.c (describe_syntax): Recognize the `n'estable bit.
-       (Fforward_comment, scan_lists):
-       Check the comstyle of single-char comment-starters.
-       (scan_sexps_forward): Don't try to recognize `half comment-enders' if
-       we're just at the beginning of the comment (f.ex with (*) ... (*)).
-       Check the comstyle of single-char comment-starters.
-       Clarify control-flow around the Scomment case.
-
-2000-06-20  Dave Love  <fx@gnu.org>
-
-       * fns.c (make_hash_table, maybe_resize_hash_table):
-       Cast arg of next_almost_prime.
-
-       * tparam.c [emacs]: Include lisp.h.
-
-       * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5.  Include lisp.h
-       and unistd.h.
-
-2000-06-20  Gerd Moellmann  <gerd@gnu.org>
-
-       * keyboard.c (adjust_point_for_property): Check if display
-       property should be treated as intangible by looking at its value.
-
-       * xdisp.c (single_display_prop_intangible_p)
-       (display_prop_intangible_p): New functions.
-
-       * dispextern.h (display_prop_intangible_p): Add prototype.
-
-       * xdisp.c (dump_glyph_row): Show type of glyph->object.
-
-       * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
-       argument to sigprocmask.
-
-       * s/sco5.h (sigblock): Redefined to pass a pointer as second
-       argument to sigprocmask.
-
-       * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
-       sigprocmask_set, and pass a pointer to it to sigprocmask.
-
-       * sysdep.c (sigprocmask_set): New variable.
-
-       * fileio.c (make_temp_name): Don't use `%s' in string passed to
-       report_file_error.
-
-2000-06-20  Sam Steingold  <sds@gnu.org>
-
-       * xrdb.c: Don't declare xmalloc, xrealloc.
-
-2000-06-20  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * regex.c (re_match, re_match_2): Protect calls to alloca (0).
-       (re_comp): Cast gettext return value to avoid complaints when
-       !HAVE_LIBINTL.
-
-2000-06-20  Dave Love  <fx@gnu.org>
-
-       * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
-
-       * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
-
-       * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
-
-       * m/alpha.h: Don't declare xmalloc, xrealloc.
-
-       * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
-
-       * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
-
-       * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
-
-       * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
-       HAVE_GETWD.
-
-       * keyboard.h (poll_for_input_1): Declare.
-
-       * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
-
-       * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
-
-       * doprnt.c: Don't declare xmalloc, xrealloc.
-
-       * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
-       (getenv, ctime, getwd): Removed.
-       (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
-
-       * xterm.h: Remove duplicate prototypes.  Declare free_frame_xic,
-       x_set_tool_bar_lines.
-
-       * config.in: Add HAVE_GETWD.  Move some definitions above
-       machine/system includes.
-
-2000-06-20  Kenichi Handa  <handa@etl.go.jp>
-
-       * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
-
-       * xfaces.c (font_list): Handle the case that REGISTRY doesn't
-       contain information about ENCODING.
-
-       * fontset.c (FONTSET_ASCII): Use the first element of char table
-       for an ASCII font, not defalt slot.
-       (fontset_ref_via_base): If FONTSET doesn't contain information for
-       C, try the default fontset.
-       (make_fontset): Don't copy the default fontset.
-       (fontset_font_pattern): Likewise.
-       (accumulate_font_info): If ELT is nil, use the corresponding
-       element in the default fontset.
-
-2000-06-19  Dave Love  <fx@gnu.org>
-
-       * syntax.c (Fparse_partial_sexp): Doc fix.
-
-       * regex.h: Test PROTOTYPES as well as __STDC__.
-
-       * unexalpha.c: Include errno.h, string.h, unistd.h.  Don't declare
-       errno, strerror.  Put text after #endif in comment.
-
-       * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
-
-       * xterm.c (x_frame_of_widget): Likewise.
-
-2000-06-19  Gerd Moellmann  <gerd@gnu.org>
-
-       * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
-       to Vfundamental_mode_abbrev_table.
-
-       * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
-       bogus objects are marked.  This slows down GC by ~80 percent, but
-       it might be worth trying when debugging GC-related problems.
-       This feature requires conservative stack marking to be enabled.
-
-       * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
-       returns XLookupChars, reset `modifiers' to zero.
-
-2000-06-19  Dave Love  <fx@gnu.org>
-
-       * mktime.c: Unprotoized.
-
-2000-06-19  Richard Stallman  <rms@gnu.org>
-
-       * data.c (set_internal): If variable is frame-local,
-       store the new value immediately into the frame parameter alist.
-
-2000-06-19  Ken Raeburn  <raeburn@gnu.org>
-
-       * xfns.c (jpeg_load): Fetch error-handling data first, then fill
-       in the custom handler pointer.
-
-       * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
-       value, or checks for CHAR_META can fail when Lisp_Object is a
-       union type.
-       * keymap.c (get_keyelt): Likewise.
-
-2000-06-19  Kenichi Handa  <handa@etl.go.jp>
-
-       * ccl.h (struct ccl_program): New member eol_type.
-       (struct ccl_spec): New member cr_carryover.
-
-       * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
-       (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
-
-       * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
-       (ccl_coding_driver): On encoding, initialize ccl->eol_type.
-       (decode_eol_post_ccl): New function.
-       (decode_coding): Don't detect EOL format here for CCL based coding
-       systems.
-       (decode_coding) <coding_type_ccl>: Handle carryovered CR.  Call
-       decode_eol_post_ccl after running the CCL program.
-       (code_convert_region): Don't detect EOL format here for CCL based
-       coding systems.
-       (decode_coding_string): Likewise.
-
-2000-06-18  Ken Raeburn  <raeburn@gnu.org>
-
-       * charset.c (update_charset_table): Use XINT on "iso_final_char"
-       when treating it as an integer.
-
-       * coding.h (encode_coding_string): Declare.
-
-       * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
-       it as an integer.
-
-       * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
-       "xkeymap" to avoid shadowing the "enum map_type" value that needs
-       to be passed to get_local_map.
-
-       * sound.c (Fplay_sound): Don't call make_number on
-       Frun_hook_with_args count argument.
-
-       * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
-       for lisp objects in X event structure data field, when lisp
-       objects are represented with unions.
-       (x_scroll_bar_to_input_event): Ditto.
-
-2000-06-16  Ken Raeburn  <raeburn@gnu.org>
-
-       * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
-       termination of string.  Fix sense of test whether
-       Vline_number_display_limit is an integer.
-
-2000-06-16  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
-       only if HAVE_X_WINDOWS.
-
-       * keymap.c (describe_buffer_bindings): Add `\f\n' in front
-       of titles.
-
-       * dispnew.c (update_frame_1): Handle case that cursor vpos is
-       out of bounds.
-
-2000-06-15  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
-       of its headers.
-
-2000-06-15  Kenichi Handa  <handa@etl.go.jp>
-
-       * coding.c (decode_coding_emacs_mule): Always set src_base at the
-       start of the while loop.
-
-2000-06-15  Gerd Moellmann  <gerd@gnu.org>
-
-       * atimer.c (alarm_signal_handler): Add forward declaration.
-
-       * data.c (set_internal): Remove debug code.
-
-2000-06-14  Gerd Moellmann  <gerd@gnu.org>
-
-       * Makefile.in (bootstrap-temacs): Add `-I../src'.
-
-       * unexec.c (toplevel) [COFF]: Include coff.h.
-
-       * s/lynxos.h: New file.
-
-       * keymap.c (Fsingle_key_description): Enclose function key and
-       event symbol names in angle brackets.
-
-       * xdisp.c (setup_echo_area_for_printing): Call
-       message_log_maybe_newline if message_buf_print is not set.
-
-       * print.c (printchar, strout): Don't check message_buf_print
-       before calling setup_echo_area_for_printing because that
-       function does something useful even when message_buf_print is
-       already set.
-
-       * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
-       New variables.
-       (ensure_echo_area_buffers): Initialize echo buffer's
-       truncate lines setting to nil.
-       (with_echo_area_buffer): Don't set the echo buffer's truncate
-       lines setting here.
-       (set_message_1): Set it here instead, based on the value
-       of message_truncate_lines.
-       (resize_mini_window): Handle case that lines are truncated.
-       (syms_of_xdisp): Initialize Qmessage_truncate_lines.
-       DEFVAR_BOOL message-truncate-lines.
-
-       * keyboard.c (read_char): Bind message-truncate-lines to t
-       while displaying a help-echo.
-
-       * lisp.h (Qmessage_truncate_lines): External declaration.
-
-2000-06-13  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (Vline_number_display_limit): Renamed from
-       line_number_display_limit.
-       (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
-       Extend documentation string.  Initialize
-       Vline_number_display_limit to nil meaning no limit.
-       (decode_mode_spec): Use Vline_number_display_limit with its new
-       meaning.
-
-       * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
-
-2000-06-13  Richard Stallman  <rms@gnu.org>
-
-       * frame.c (Fmodify_frame_parameters): Doc fix.
-
-       * xfns.c (x_set_frame_parameters): Comment fix.
-
-       * frame.c (store_frame_param): Call swap_in_global_binding if the
-       variable's current binding was chosen based on this frame.
-
-       * data.c (swap_in_global_binding): New function.
-
-2000-06-13  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
-       macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
-
-2000-06-13  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
-
-2000-06-12  Jason Rumney  <jasonr@gnu.org>
-
-       * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
-
-       * w32.h (EMACS_W32_H): Renamed from _NT_H_
-
-       * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
-
-       * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
-
-2000-06-12  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
-       (syms_of_xfaces): Defsubr Sdump_colors.
-       (x_free_colors): Don't treat b&w specially on default visual.
-       (x_free_dpy_colors): New function.
-       (free_face_colors): Don't check visual class; it's done
-       in x_free_colors.
-
-       * xterm.c (x_frame_of_widget): New function.
-       (x_alloc_nearest_color_for_widget): Use it.
-       (x_copy_dpy_color): New function.
-       (x_destroy_window): Free various colors.
-
-2000-06-12  Kenichi Handa  <handa@etl.go.jp>
-
-       * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
-
-       * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
-
-       * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
-
-       * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
-
-       * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
-
-2000-06-11  Dave Love  <fx@gnu.org>
-
-       * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
-
-2000-06-11  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
-
-2000-06-11  Gerd Moellmann  <gerd@gnu.org>
-
-       * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
-       to `XEvent *'.
-
-2000-06-10  Kenichi Handa  <handa@etl.go.jp>
-
-       * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
-       (regex_compile): Fix the code for handling the case of single byte
-       char and multibyte char being mixed in a range within [...].
-
-       * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
-       and dst_multibyte members of coding.
-
-       * charset.c (update_charset_table): Update the table
-       bytes_by_char_head.
-       (init_charset_once): Initialize elements of bytes_by_char_head to
-       1 except for leading codes for private charases.
-
-       * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
-       (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
-
-2000-06-09  Ken Raeburn  <raeburn@gnu.org>
-
-       * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
-       access the data it doesn't point to.
-
-2000-06-08  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
-       will be translated to a switch-frame event when reading the
-       event queue.  This is necessary because Emacs otherwise won't
-       perform a switch-frame to a new frame until some other event, for
-       example a keystroke event, forces it to do so.  This has various
-       effects, one visible being that the cursor of a frame created with
-       C-x 5 2 or switched to with a window manager key binding like
-       A-TAB stays hollow because selected_window isn't on the newly
-       focused frame until the switch-frame is performed.
-
-       * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
-       generating a switch-frame event if necessary.
-
-       * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
-
-       * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
-       it's an integer.
-
-2000-06-08  Kenichi Handa  <handa@etl.go.jp>
-
-       * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
-
-2000-06-07  Gerd Moellmann  <gerd@gnu.org>
-
-       * window.c (displayed_window_lines): Take empty lines at
-       the bottom of a window into account.
-
-       * window.c (displayed_window_lines): New function.
-       (Fmove_to_window_line): Use displayed_window_lines to determine
-       the number of lines to move, instead of using the window's height.
-
-       * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
-       to stop reading, even if the form read sets point to a different
-       value when evaluated.
-
-       * xdisp.c (display_line): Fix code deciding in which line to
-       put the cursor.
-
-2000-06-07  Kenichi Handa  <handa@etl.go.jp>
-
-       * fileio.c (e_write): Free composition data if stored in
-       coding->cmp_data.
-
-2000-06-06  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (display_line): Set row's and iterator's
-       starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
-       Set cursor even if row ends in the middle of a character.
-       (dump_glyph_row): Print values of new flags.
-       (redisplay_window) <cursor movement in unchanged window>: When
-       point has been moved forward, and PT is at the end of the cursor
-       row, don't place the cursor in the next row if the cursor row ends
-       in the middle of a character or at ZV.
-
-       * dispextern.h (struct it): Add starts_in_middle_of_char_p.
-       (struct glyph_row): Add starts_in_middle_of_char_p and
-       ends_in_middle_of_char_p.
-       (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
-       ends_in_middle_of_char_p flag.
-       (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
-
-       * term.c (append_glyph): Revert change of 2000-06-06.
-
-       * xdisp.c (display_line): Revert change of 2000-06-06.  Treat
-       padding glyph not fitting on line as whole character not
-       fitting on line.
-
-       * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
-       this isn't true for images with `:ascent 100'.
-
-2000-06-06  Kenichi Handa  <handa@etl.go.jp>
-
-       * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
-       as modified if it is originally unmodified.
-
-       * term.c (encode_terminal_code): Change the way to check if
-       terminal coding does any conversion.
-       (append_glyph): Set glyph->pixel_width correctly.
-
-       * xdisp.c (display_line): While checking line continuation, pay
-       attention to a padding glyph.
-
-2000-06-05  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
-
-2000-06-05  Dave Love  <fx@gnu.org>
-
-       * xdisp.c: Include fontset.h.
-
-       * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
-
-       * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
-
-       * dispnew.c: Conditionally include term.h.
-
-       * coding.h: Declare code_convert_string_norecord.
-
-       * frame.h (struct frame): Use volatile unconditionally.
-
-       * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
-
-       * xmenu.c (menu_item_selection): Declare volatile unconditionally.
-
-       * systime.h: Protect against multiple inclusion.
-       (timezone) [USG5_4]: Define as time_t.
-
-       * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
-       (Foptimize_char_table, make_temp_name): Declare.
-
-       * Makefile.in (xdisp.o): Depend on fontset.h.
-
-       * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
-
-       * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
-       (Foptimize_char_table, make_temp_name): Declare.
-
-       * s/irix4-0.h:
-       * s/irix5-0.h:
-       * s/netbsd.h: Don't define autoconfiscated MATHERR.
-
-2000-06-02  Dave Love  <fx@gnu.org>
-
-       * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
-
-2000-06-02  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
-       result face, set flags in that face indicating that colors may not
-       be freed.
-
-       * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
-       glyph, use the ASCII NUL character to determine the face.
-
-2000-06-02  Dave Love  <fx@gnu.org>
-
-       * sysdep.c: Conditionally include stdlib.h, unistd.h.
-       (VFORK_RETURN_TYPE): Remove.
-
-       * config.in: Add NO_MATHERR.
-
-2000-06-01  Dave Love  <fx@gnu.org>
-
-       * cmds.c (internal_self_insert): Don't check
-       Vbefore_change_function, Vafter_change_function.
-
-       * insdel.c (signal_before_change, signal_after_change): Likewise.
-
-       * buffer.c (Vbefore_change_function, Vafter_change_function):
-       Variables and their initializations deleted.
-
-       * callint.c (Fcall_interactively): Doc fix.
-
-       * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
-
-2000-05-31  Dave Love  <fx@gnu.org>
-
-       * textprop.c: Revert last change -- duplicated.
-
-2000-05-31  Gerd Moellmann  <gerd@gnu.org>
-
-       * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
-       in #if 0.
-
-       * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
-
-2000-05-31  Jason Rumney  <jasonr@gnu.org>
-
-       * search.c (Fre_search_forward, Fre_search_backward)
-       (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
-
-       * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
-
-2000-05-30  Jason Rumney  <jasonr@gnu.org>
-
-       * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
-       [WINDOWSNT]: Add extern for Vw32_system_coding_system.
-
-       * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
-
-       * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
-       (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
-       expand a nil default_filename.
-
-       * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
-       pointer to glyph_to_pixel_coords, not a frame.
-
-       * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
-       coding.h to dependencies.
-
-       * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
-
-       * w32console.c (glyph_to_pixel_coords): Change first parameter to
-       window pointer to be consistent with w32term.c and xterm.c.
-
-       * w32fns.c: Format and doc changes to bring closer to xfns.c.
-       (VIETNAMESE_CHARSET): Define if not defined in system headers.
-       (Qline_spacing, Qcenter): New variables.
-       (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
-       (x_set_line_spacing): New function.
-       (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
-       (x_specified_cursor_type): New function.
-       (x_set_cursor_type): Use it.
-       (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
-       and icon strings.
-       (validate_x_resource_name, x_get_resource_string): Measure lengths
-       of external strings in bytes.
-       (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
-       GetTextExtentPoint32 with NULL title.
-       (Fx_create_frame): Initialize Qline_spacing.
-       (w32_load_system_font): Initialize font->double_byte_p.
-       (x_to_w32_charset): Use Vw32_charset_info_alist.
-       (Image, busy cursor, tooltip functions): Merged changes from
-       xfns.c. Not yet functional on Windows.
-
-       * w32gui.h (W32FontStruct): Add double_byte_p member.
-
-       * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
-       (emacs_button_translation): Use it.
-       (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
-       in `mask' to be set.
-
-       * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
-       menu strings.
-
-       * w32term.c: Format and doc changes to bring closer to xterm.c.
-       (w32_char_font_type): New enum.
-       (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
-       (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
-       (w32_encode_char): New function.
-       (x_encode_char): Removed.
-       (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
-       x_encode_char and w32_font_is_double_byte.
-       (x_produce_image_glyph): Use image_ascent.
-       (x_produce_glyphs): Use new version of w32_per_char_metric and
-       handle NULL return value. Allow extra line spacing.
-       (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
-       (w32_get_glyph_overhangs): Remove unicode_p param. Use
-       w32_font_type member of glyph instead.
-       (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
-       (fast_find_position): Make sure not to consider rows not visible
-       in the window.
-       (w32_read_socket) [WM_MENUSELECT]: Cannot call
-       w32_menu_display_help with input blocked, as it can abort.
-       (x_display_and_set_cursor): Choose cursor depending
-       on buffer-local value of cursor_type.
-       (x_draw_bar_cursor): Add parameter WIDTH.
-
-       * w32term.h (CP_DEFAULT): Define.
-       (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
-
-2000-05-30  Gerd Moellmann  <gerd@gnu.org>
-
-       * search.c (Fre_search_forward, Fre_search_backward)
-       (Fposix_search_backward, Fposix_search_forward): Doc fix.
-
-2000-05-30  Kenichi Handa  <handa@etl.go.jp>
-
-       * coding.c (detect_coding_iso2022): Fix code for checking
-       CODING_CATEGORY_MASK_ISO_8_2.
-
-2000-05-29  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * regex.c (PREFETCH_NOLIMIT): New function.
-       (re_match_2_internal): Use it and adjust the end_match_2 logic.
-
-2000-05-29  Gerd Moellmann  <gerd@gnu.org>
-
-       * syntax.c (find_defun_start): Move test for
-       open_paren_in_column_0_is_defun_start outside of the loop.
-
-       * xdisp.c (redisplay_window): Really switch buffers when
-       displaying mode lines, and temporarily set selected_frame to the
-       frame of the window that's redisplayed.
-
-       * xfaces.c (free_realized_faces): Block/unblock input.
-       (free_realized_multibyte_face): Ditto.
-
-2000-05-29  Dave Love  <fx@gnu.org>
-
-       * textprop.c (Qkeymap): New variable.
-       (syms_of_textprop): Intern it.
-
-       * keymap.c: Include intervals.h.
-       (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
-
-       * Makefile.in (keymap.o): Depend on intervals.h.
-
-       * keyboard.c (menu_bar_items, tool_bar_items)
-       (Fexecute_extended_command): Deal with `keymap' property.
-       (read_key_sequence): Track map from `keymap' property as well as
-       `local_map'.
-
-       * intervals.c (get_local_map): Extra arg to allow looking for
-       `keymap' too.
-
-       * intervals.h (map_property): New enum.
-       (get_local_map): Extra arg using it.
-       (Qkeymap): Declare.
-
-       * lisp.h (get_local_map): Don't declare here.
-
-2000-05-29  Kenichi Handa  <handa@etl.go.jp>
-
-       * Makefile.in (callproc.o): Depend on composite.h.
-
-       * callproc.c: Include composite.h.
-       (Fcall_process): Handle composition correctly.
-
-       * coding.h (coding_allocate_composition_data): Extern it.
-       (coding_restore_composition): Likewise.
-
-       * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
-       yet allocated, finish decoding with result
-       CODING_FINISH_INSUFFICIENT_CMP.
-       (coding_allocate_composition_data): Make it non-static.
-       (coding_restore_composition): Likewise.
-
-2000-05-29  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * charset.c (syms_of_charset): Revert last change.
-
-2000-05-28  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * term.c (produce_glyphs): Treat characters from the eight-bit-*
-       charsets as unibyte, with 1-column screen width.  Sent by Kenichi
-       Handa.
-
-2000-05-28  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * charset.c (syms_of_charset): Set width of character sets
-       eight-bit-control and eight-bit-graphic to 1 column.
-
-2000-05-26  Gerd Moellmann  <gerd@gnu.org>
-
-       * config.in (HAVE_SPEED_T): New define.
-
-       * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
-       `extern speed_t'.
-
-2000-05-26  Dave Love  <fx@gnu.org>
-
-       * coding.c (shrink_decoding_region): Initialize eol_conversion.
-
-       * data.c (Qsubrp, Qmany, Qunevalled): New variables.
-       (Fsubr_arity): New function.
-       (syms_of_data): Install them.
-
-2000-05-26  Kenichi Handa  <handa@etl.go.jp>
-
-       * charset.c (init_charset_once): Set the table bytes_by_char_head
-       correctly.
-
-       * fontset.c (syms_of_fontset): Adjust the font name for ascii of
-       the default fontset to what Emacs uses by default.
-       (check_registry_encoding): This function deleted.
-       (Fset_fontset_font): Remove the adhoc condition for the default
-       fontset.  Allow cons in FONTNAME.
-
-       * fns.c (map_char_table): Ignore char-table entries for
-       charsets eight-bit-control and eight-bit-graphic.
-
-2000-05-25  Ken Raeburn  <raeburn@gnu.org>
-
-       * emacs.c (main): Initialize keyboard syms before initializing
-       window code, so face names are available.
-
-2000-05-25  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
-       of an anchor at the beginning of a shy-group.
-
-2000-05-25  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (handle_invisible_prop): Don't try to skip over
-       invisible text if end of text is already reached.
-
-2000-05-25  Dave Love  <fx@gnu.org>
-
-       * xdisp.c (Fdump_glyph_matrix): Declare the arg.
-
-       * coding.c (encode_eol): Add null statement after label.
-
-2000-05-25  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * w16select.c (Fw16_set_clipboard_data): Fix the change from
-       2000-05-20.
-
-2000-05-25  Kenichi Handa  <handa@etl.go.jp>
-
-       * ccl.c (ccl_driver): Fix previous change.
-
-2000-05-25  Kenichi Handa  <handa@etl.go.jp>
-
-       * coding.c (run_pre_post_conversion_on_str): Set point to the
-       beginning of buffer before calling coding->post_read_conversion.
-       (decode_coding_string): Give correct args to
-       run_pre_post_conversion_on_str.
-       (encode_coding_string): Likewise.
-
-       * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
-       <CCL_WriteMultibyteChar2>:  Handle charsets eight-bit-control and
-       eight-bit-graphic correctly.
-
-2000-05-24  Kenichi HANDA  <handa@etl.go.jp>
-
-       * fileio.c (Finsert_file_contents): Even if a file is not found,
-       execute codes for setting up coding system.  Call
-       after-insert-file-functions unconditionally.
-
-2000-05-24  Gerd Moellmann  <gerd@gnu.org>
-
-       * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
-       BSD_PGRPS are not defined.
-
-2000-05-24  Kenichi Handa  <handa@etl.go.jp>
-
-       * charset.c (update_charset_table): Accept nil in LONG_NAME and
-       DESCRIPTION.
-       (syms_of_charset): Avoid building same strings.
-
-2000-05-23  Gerd Moellmann  <gerd@gnu.org>
-
-       * lread.c (Fload): Add a comment about the meaning of
-       Vuser_init_file being t.
-
-       * puresize.h (BASE_PURESIZE): Increase to 675000.
-
-       * s/gnu-linux.h (setpgrp): Don't define it here because this
-       prevents compilation on GNU/Linux systems with glib 2.2.
-
-       * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
-       as setpgid.
-
-2000-05-23  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
-       dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
-       version.
-       (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
-
-2000-05-23  Kenichi Handa  <handa@etl.go.jp>
-
-       * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
-
-       * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
-
-       * term.c (encode_terminal_code): Set coding->src_multibyte properly.
-
-       * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
-
-2000-05-22  Kenichi Handa  <handa@etl.go.jp>
-
-       * keyboard.c (read_char): Allow character codes 128..255 to be
-       handled by input-method-function.
-
-       * insdel.c (adjust_markers_for_replace): Fix previous change.
-       (adjust_after_replace): If PREV_TEXT is nil, call
-       adjust_markers_for_insert, not adjust_markers_for_replace.
-
-2000-05-20  NIIBE Yutaka  <gniibe@mri.co.jp>
-
-       * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
-       (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
-       [HAVE_GRANDPT]: Define.
-       (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
-
-       * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
-       like SYSV_PTYS.
-
-       * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
-
-       * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
-
-2000-05-20  Kenichi Handa  <handa@etl.go.jp>
-
-       The following changes are to handle 8-bit characters in a
-       multibyte buffer/string without facing with byte combining
-       problem.  Two new charsets eight-bit-control (for 0x80..0x9F) and
-       eight-bit-graphic (for 0xA0..0xFF) are introduced.
-
-       * Makefile.in (fns.o): Depend on charset.h.
-
-       * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
-       convert it to unibyte.
-       (make_string): Use parse_str_as_multibyte, not chars_in_text.
-
-       * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
-       apparent char boundary.
-       (Fset_buffer_multibyte): Convert 8-bit characters in the range
-       0x80..0x9F to/from multibyte form.
-
-       * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
-       to unibyte.
-
-       * callproc.c (Fcall_process): Always encode an argument string if
-       it is multibyte.  Setup src_multibyte and dst_multibyte members of
-       process_coding properly.
-
-       * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
-       SPLIT_NON_ASCII_CHAR.
-
-       * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
-       as is.
-       (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
-
-       * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
-       (SPLIT_CHARACTER_SEQ): This macro deleted.
-       (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
-       (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
-       and eight-bit-graphic.
-       (char_to_string): Likewise.  Signal an error for too large
-       character code.
-       (char_printable_p): Return 0 for 8-bit characters.
-       (update_charset_table): Update iso_charset_table only when a final
-       character is non-negative.
-       (find_charset_in_text): Renamed from find_charset_in_str.
-       Arguments and return value changed.  Callers changed.
-       (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
-       be -1 if CHARSET is used only internally.
-       (Fmake_char_internal): Handle new charsets; eight-bit-control and
-       eight-bit-graphic.
-       (Fcharset_after): Simplified.
-       (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
-       (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
-       (multibyte_chars_in_text): Simplified by assuming there's no
-       invalid multibyte sequence.
-       (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
-       (str_as_unibyte): New functions.
-       (Fstring): Simpified by assuming that byte combining never happens.
-       (init_charset_once): Initialization for
-       LEADING_CODE_8_BIT_CONTROL.
-       (syms_of_charset): Intern and staticpro Qeight_bit_control and
-       Qeight_bit_graphic.  Include them in Vcharset_list.  Make charsets
-       eight-bit-control and eight-bit-graphic.
-
-       * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
-       (CHARSET_8_BIT_GRAPHIC): New macros.
-       (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
-       (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
-       (CHARSET_REVERSE_CHARSET): Likewise.
-       (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
-       eight-bit-graphic.
-       (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
-       (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
-       (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
-       encounter an invalid multibyte sequence.
-       (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
-       sequence is always valid.
-       (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
-       (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
-       (CHAR_STRING): For 8-bit characters, call char_to_string.
-       (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version.  Assume
-       multibyte sequence is always valid.
-       (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
-       (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
-       (str_as_unibyte): Extern them.
-       (BCOPY_SHORT): Fix a bug.
-       (CHAR_LEN): This macro deleted.  Callers changed to use CHAR_BYTES.
-       (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
-       (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
-       (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
-
-       * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
-       CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
-       (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
-       (EMIT_BYTES): New macros.
-       (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
-       (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
-       macros deleted.
-       (CHECK_CODE_RANGE_A0_FF): This macro deleted.
-       (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
-       check the validity of multibyte sequence.
-       (decode_coding_emacs_mule): New function.
-       (encode_coding_emacs_mule): New macro.
-       (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
-       the source.
-       (DECODE_ISO_CHARACTER): Just return a character code.
-       (DECODE_COMPOSITION_START): Set coding->result instead of result.
-       (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
-       EMIT_CHAR to produced decoded characters.  Exit the loop only by
-       macros ONE_MORE_BYTE or EMIT_CHAR.  Don't handle the case of last
-       block here.
-       (ENCODE_ISO_CHARACTER): Don't translate character here.  Produce
-       only position codes for an invalid character.
-       (encode_designation_at_bol): Return new destination pointer.  5th
-       arg DSTP is changed to DST.
-       (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
-       from the source by ONE_MORE_CHAR.  Don't handle the case of last
-       block here.
-       (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
-       macros deleted.
-       (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
-       (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
-       TWO_MORE_BYTES to fetch a byte from the source.
-       (encode_eol): Pay attention to coding->src_multibyte.
-       (detect_coding, detect_eol): Preserve members src_multibyte and
-       dst_multibyte.
-       (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
-       (encoding_buffer_size): Set magnification to 3 for all coding
-       systems that require encoding.
-       (ccl_coding_driver): For decoding, be sure that the result is
-       valid multibyte sequence.
-       (decode_coding): Initialize coding->errors and coding->result.
-       For emacs-mule, call decode_coding_emacs_mule.  For no-conversion
-       and raw-text, always call decode_eol.  Handle the case of last
-       block here.  If not coding->dst_multibyte, convert the resulting
-       sequence to unibyte.
-       (encode_coding): Initialize coding->errors and coding->result.
-       For emacs-mule, call encode_coding_emacs_mule.  For no-conversion
-       and raw-text, always call encode_eol.  Handle the case of last
-       block here.
-       (shrink_decoding_region, shrink_encoding_region): Detect cases
-       that we can't skip data more rigidly.
-       (code_convert_region): Setup src_multibyte and dst_multibyte
-       members of coding.  For decoding, if the buffer is multibyte,
-       convert the source sequence to unibyte in advance.  For encoding,
-       if the buffer is multibyte, convert the resulting sequence to
-       multibyte afterward.
-       (run_pre_post_conversion_on_str): New function.
-       (code_convert_string): Deleted and divided into the following two.
-       (decode_coding_string, encode_coding_string): New functions.
-       (code_convert_string1, code_convert_string_norecord): Call one of
-       above.
-       (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
-       MAKE_NON_ASCII_CHAR.
-       (Fset_terminal_coding_system_internal)
-       (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
-       and dst_multibyte members.
-       (init_coding_once): Initialize iso_code_class with new enum
-       ISO_control_0 and ISO_control_1.
-
-       * coding.h (enum iso_code_class_type): Member ISO_control_code is
-       devided into ISO_control_0 and ISO_control_1.
-       (struct coding_system): New members src_multibyte, dst_multibyte,
-       errors, and result.  Delete member fake_multibyte.
-       (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
-       nonzero.
-       (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
-       nonzero.
-
-       * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
-       (Faset): Likewise.
-
-       * editfns.c (Fformat): Be sure to convert 8-bit characters to
-       multibyte form.
-       (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
-       combining occurs.
-       (Ftranspose_region): Delete codes for handling byte combining.
-
-       * fileio.c (Finsert_file_contents): Setup src_multibyte and
-       dst_multibyte members of coding.  On handling REPLACE on unibyte
-       buffer, convert the result of decode_coding to unibyte.  On
-       inserting into a mutibyte buffer, always call code_convert_region.
-       (e_write): Setup coding->src_multibyte according to the
-       multibyteness of the source (buffer or string).
-
-       * fns.c (concat): Handle 8-bit characters correctly.
-       (Fstring_as_unibyte): Be sure to make all 8-bit characters in
-       unibyte in the result.
-       (Fstring_as_multibyte): Be sure to make all 8-bit characters in
-       valid multibyte form in the result.
-       (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
-       (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
-       return -1, signal an error.
-       (base64_encode_1): New arg MULTIBYTE.  Get each character by
-       CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero.  If a multibyte
-       character is found, return -1.
-       (Fbase64_decode_region): Delete codes for handling byte-combining.
-       Treat each decoded byte as a unibyte character.
-       (Fbase64_decode_string): Return unibyte string.
-       (Fcompare_strings, concat, string_byte_to_char): Use
-       FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
-       FETCH_STRING_CHAR_ADVANCE.
-       (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
-       (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
-
-       * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
-       SPLIT_NON_ASCII_CHAR.
-       (fontset_ref_via_base, fontset_set): Likewise
-
-       * insdel.c (adjust_markers_for_record_delete): Deleted.
-       (adjust_markers_for_insert): Argument changed.  Caller changed.
-       (adjust_markers_for_replace): Likewise.
-       (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
-       (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
-       (copy_text): Delete unused local varialbe c_save.  For converting
-       to multibyte, be sure to make all 8-bit characters in valid
-       multibyte form.
-       (count_size_as_multibyte): Handle 8-bit characters correctly.
-       (insert_1_both, insert_from_string_1, insert_from_buffer_1)
-       (adjust_after_replace, replace_range, del_range_2)
-       [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
-       (insert_1_both, insert_from_string_1, insert_from_buffer_1)
-       (adjust_after_replace, replace_range, del_range_2) Delete codes for
-       handling byte combining.
-       (adjust_before_replace): Deleted.
-
-       * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
-       SPLIT_NON_ASCII_CHAR.
-       (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
-       (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
-       (Fkey_description): Likewise.
-
-       * lread.c (read1): On reading multibyte string, be sure to make
-       all 8-bit chararacters in valid multibyte form.
-       (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
-
-       * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
-       unconditionally.
-
-       * process.c (Fstart_process): GCPRO current_dir before calling
-       Ffind_operation_coding_system.  Encode arguments here.
-       (create_process): Don't encode arguments here.  Setup
-       src_multibyte and dst_multibyte members of struct coding.
-       (read_process_output): Setup src_multibyte and dst_multibyte
-       members of struct coding.  If the output is to multibyte buffer,
-       always decode the output of the process.  Adjust the
-       representation of 8-bit characters to the multibyteness of the output.
-       (send_process): Setup coding->src_multibyte according to the
-       multibyteness of the source.
-
-       * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
-       (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
-       FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
-
-       * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
-
-       * w16select.c (Fw16_set_clipboard_data): Setup members
-       src_multibyte and dst_multibyte of coding.  Adjusted for the
-       change for find_charset_in_str.
-       (Fw16_get_clipboard_data): Likewise.
-
-       * w32fns.c (w32_to_x_font): Setup members src_multibyte and
-       dst_multibyte of coding.
-       (x_to_w32_font): Likewise.
-
-       * w32select.c (Fw32_set_clipboard_data): Setup members
-       src_multibyte and dst_multibyte of coding.  Adjusted for the
-       change for find_charset_in_str.
-       (Fw32_get_clipboard_data): Likewise.
-
-       * xdisp.c (get_next_display_element): Handle 8-bit characters
-       correctly.
-       (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
-       (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
-
-       * xselect.c (selection_data_to_lisp_data): Setup members
-       src_multibyte and dst_multibyte of coding.  Adjusted for the
-       change for find_charset_in_str.
-       (lisp_data_to_selection_data): Likewise.
-
-2000-05-19  Gerd Moellmann  <gerd@gnu.org>
-
-       * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
-
-       * dispextern.h (Vimage_types): Add extern declaration.
-
-       * xdisp.c (Vimage_types): Moved here from xfns.c.
-       (syms_of_xdisp): Move `image-types' variable here from xfns.c.
-
-       * xfns.c (Vimages_types): Moved to xdisp.c.
-       (syms_of_xfns): Move `image-types' to xdisp.c.
-
-       * w32fns.c (Vimage_types): Removed.
-       (syms_of_w32fns): Remove `image-types'.
-
-2000-05-18  Kenichi Handa  <handa@etl.go.jp>
-
-       * fns.c (map_char_table): Pay attention to character number of
-       charset.  Check the validity of charset at the first level.   For
-       leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
-       the default value.
-
-       * fontset.c: Include "buffer.h".
-       (fs_load_font): If the face has fontset, record the face ID in
-       that fontset.
-       (Finternal_char_font): New function.
-       (accumulate_font_info): New function.
-       (Ffontset_info): Rewritten for the new fontset implementation.
-       (syms_of_fontset): Register Vdefault_fontset in the first element
-       of Vfontset_table.  Include Vdefault_fontset in
-       Vfontset_alias_alist.  Declare `internal-char-font' as a Lisp
-       function.
-
-2000-05-16  Dave Love  <fx@gnu.org>
-
-       * m/iris5d.h: Deleted -- unused.
-
-2000-05-16  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
-       `invalid' instead of `illegal'.
-
-       * indent.c (Fmove_to_column): When ending within a tab, insert
-       spaces first so that markers at the end of the tab get adjusted.
-
-       * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
-       buffer list that wasn't selected in that frame.
-
-       * filelock.c (get_boot_time): To obtain an 8 char file name, which
-       is needed on mescaline, use a 2 char prefix, and call
-       make_temp_name with second arg non-zero.
-
-       * fileio.c (make_temp_name): New function, extracted from
-       Fmake_temp_name.
-       (Fmake_temp_name): Use it.
-
-2000-05-15  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * window.c (coordinates_in_window): Subtract 1 when computing right_x.
-
-2000-05-15  Gerd Moellmann  <gerd@gnu.org>
-
-       * Makefile.in (lisp): Add env.elc.
-
-       * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
-
-2000-05-12  Gerd Moellmann  <gerd@gnu.org>
-
-       * search.c (Freplace_match): Handle case of `\N' in the
-       replacement when there's no group N.
-
-2000-05-11  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (add_to_log): Don't pass the terminating NUL byte
-       of the message to message_dolog.
-
-       * keyboard.c (read_char): Don't clear current message for help
-       events; let the code handling help events handle this.  Change
-       code detecting help events that should be ignored.
-
-       * xdisp.c (handle_single_display_prop): Don't try to set PT if
-       we're interating over a string.
-
-2000-05-09  Dave Love  <fx@gnu.org>
-
-       * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
-       that offset before writing.  Move gcpro region past call of
-       Ffile_regular_p.
-
-2000-05-04  Dave Love  <fx@gnu.org>
-
-       * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
-
-2000-05-04  Gerd Moellmann  <gerd@gnu.org>
-
-       * insdel.c (insert_from_buffer_1): Adjust FROM position by number
-       of inserted characters when BUF equals the current buffer, and PT
-       is in front of or equal to FROM.
-
-2000-05-03  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (handle_single_display_prop): If display property value
-       is invalid, or something not supported on the frame, restore
-       iterator's position to what it was initially.  Make sure to return
-       0 for invalid and unsupported property values.
-
-       * xterm.c (x_produce_glyphs) <composite chars>: Handle case
-       that x_per_char_metric returns null.
-
-2000-05-02  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.h (struct face): Add forward declaration.
-       (struct image): Ditto.
-       (image_ascent): Add prototype.
-
-       * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
-       (x_draw_image_relief, x_draw_image_foreground_1): Call function
-       image_ascent instead of using IMAGE_ASCENT.
-
-       * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
-       (IMAGE_ASCENT): Removed.
-
-       * xfns.c (Qcenter): New variable.
-       (enum image_value_type): Add IMAGE_ASCENT_VALUE.
-       (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
-       (image_ascent): New function.
-       (lookup_image): Recognize `:ascent center'.
-       (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
-       (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
-       (xbm_load): Don't set image's ascent here.
-       (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
-       (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
-       check ascent values here.
-       (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
-       (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
-       (syms_of_xfns): Initialize Qcenter.
-
-       * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
-       to the limits, increase the limits.
-
-2000-05-01  Kenichi Handa  <handa@etl.go.jp>
-
-       * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
-       Check Vfont_encoding_alist against the full name of the opened font.
-
-2000-04-28  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
-       taller than the window.
-
-2000-04-28  Kenichi Handa  <handa@etl.go.jp>
-
-       * xfaces.c (realize_x_face): Fix the argument of the second
-       xassert.  BASE_FACE may not be a face for ASCII.
-
-2000-04-27  Gerd Moellmann  <gerd@gnu.org>
-
-       * print.c (print_object): Treat print-length < 0 as nil.
-
-       * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
-
-       * s/freebsd.h (TERMCAP_OBJ): Removed.
-       (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
-
-       * lread.c (read1): Don't treat period followed by certain
-       characters as symbol start.
-
-       * xfns.c (slurp_file): New function.
-       (xbm_image_p): Handle case of in-memory XBM files.
-       (xbm_scan): Rewritten to work on memory buffers instead of files.
-       (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
-       Work on memory buffers instead of files.  If DATA is null test
-       if buffer looks like an in-memory XBM file.
-       (xbm_load_image): Renamed from xbm_load_image_file.  Work on
-       memory buffers instead of files.
-       (xbm_file_p): New function.
-       (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
-
-       * lread.c (end_of_file_error): New function.
-       (read1): Call it instead of signaling `end-of-file' directly.
-
-       * print.c (print_error_message): Print data of `end-of-file'
-       with Fprinc instead of Fprin1.
-
-2000-04-26  Ken Raeburn  <raeburn@gnu.org>
-
-       * window.c (freeze_window_start): Check that minibuffer scroll
-       window isn't nil before extracting the window structure pointer
-       from it.
-
-       * undo.c (record_delete): If we hit the end of the undo list, stop
-       picking elements apart.
-
-2000-04-26  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (display_line): If lines are continued, restore
-       iterator's ascent/descent information to the values before the
-       first glyph not fitting on the line.
-
-2000-04-25  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (try_window_id) <all changes above window start>: Adjust
-       positions in glyph matrix.  Don't compute new window end positions.
-
-       * dispnew.c (increment_matrix_positions): Renamed from
-       increment_glyph_matrix_buffer_positions.
-       (increment_row_positions): Renamed from
-       increment_glyph_row_buffer_positions.
-
-       * dispextern.h: Change names of renamed functions from dispnew.c
-       in prototypes.
-
-2000-04-24  Gerd Moellmann  <gerd@gnu.org>
-
-       * fileio.c (Fdo_auto_save): Create directories for auto-save
-       list file if necessary.
-
-       * xdisp.c (init_iterator): Set iterator's extra_line_spacing
-       from buffer or frame.
-       (automatic_hscrolling_p): New variable.
-       (hscroll_windows): Scroll windows horizontally only if automatic
-       hscrolling is allowed.
-       (syms_of_xdisp): New variable `automatic-hscrolling'.
-
-       * frame.h (struct frame): Add member extra_line_spacing.
-
-       * xfns.c (x_set_line_spacing): New function.
-       (Fx_create_frame): Set line spacing from resources.
-       (Qline_spacing): New variable.
-       (syms_of_xfns): Initialize Qline_spacing.
-
-       * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
-
-       * buffer.c (init_buffer_once): Handle extra_line_spacing.
-       (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
-       (reset_buffer): Don't initialize extra2 and extra3.  Initialize
-       extra_line_spacing from default value.
-       (init_buffer_once): Initialize default value of extra_line_spacing.
-
-       * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
-       and extra3.
-
-       * xterm.c (x_produce_glyphs): Remove reference to struct it's
-       prompt_width.  Add extra line spacing.
-
-       * term.c (produce_glyphs): Remove reference to struct it's
-       prompt_width.
-
-       * dispextern.h (struct it): Remove member prompt_width, add
-       extra_line_spacing.
-
-2000-04-22  Gerd Moellmann  <gerd@gnu.org>
-
-       * dispnew.c (update_frame_line): When writing a whole line, make
-       sure cursor is in the right row afterwards, otherwise a use of
-       capability `ch' in cmgoto might leave the cursor in the row below.
-
-2000-04-21  Gerd Moellmann  <gerd@gnu.org>
-
-       * lisp.h (struct Lisp_Buffer_Cons): Remove.
-
-       * keyboard.c (timer_check): Fix typo in comment.
-
-2000-04-21  Kenichi Handa  <handa@etl.go.jp>
-
-       * fontset.c (Fset_fontset_font): Fix docstring.  Local variable
-       name change: ch -> character.
-
-2000-04-20  Gerd Moellmann  <gerd@gnu.org>
-
-       * keyboard.c (echo_message_buffer): New variable.
-       (echo_now): Set echo_message_buffer to the echo area buffer used
-       to display the echo.
-       (cancel_echoing): Reset echo_message_buffer to nil.
-       (read_char): Code rewritten that handles canceling an echo or
-       echoing a dash, respectively.
-
-       * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
-       directory doesn't exist.
-
-2000-04-19  Dave Love  <fx@gnu.org>
-
-       * fns.c (syms_of_fns): Defsubr mapc.
-       (concat): Don't allow numeric args.
-       (Fconcat): Doc change.
-
-2000-04-19  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * regex.c (re_match_2_internal): Don't shorten the strings anymore,
-       instead define end_match(1|2) more carefully.
-       Use GET_CHAR_BEFORE_2 for `begline'.
-
-2000-04-19  Gerd Moellmann  <gerd@gnu.org>
-
-       * frame.h (SELECTED_FRAME): Change definition to compile cleanly
-       on 64-bit systems where NULL is defined as `0'.
-
-       * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
-       the `variable argument list' to make it work on Alpha.
-
-       * m/alpha.h (_LP64) [!_LP64]: Define.
-       (ORDINARY_LINK): Define for NetBSD.
-
-       * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
-
-2000-04-19  Dave Love  <fx@gnu.org>
-
-       * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
-       change.
-
-       * Makefile.in (LIBS): Don't use.
-       (GETLOADAVG_OBJ): Define again.
-       (otherobj): Add GETLOADAVG_OBJ.
-
-       * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
-
-2000-04-18  Gerd Moellmann  <gerd@gnu.org>
-
-       * lread.c (read_filtered_event): Cancel and start busy cursor.
-
-       * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
-       that the per-character metrics may be null.
-
-2000-04-17  Gerd Moellmann  <gerd@gnu.org>
-
-       * buffer.c (clone_per_buffer_values): New function.
-       (Fmake_indirect_buffer): Add optional argument CLONE.  Call
-       clone_per_buffer_values if CLONE is not nil.
-
-       * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
-
-2000-04-16  Dave Love  <fx@gnu.org>
-
-       * Makefile.in: Remove obsolete localcpp stuff.
-       (GETLOADAVG_OBJ): Don't define.
-       (obj): Move LIBOBJS...
-       (otherobj): ... to here.
-       (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
-       whitespace-only lines after the continuation (Irix).
-
-2000-04-14  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
-
-       * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
-
-2000-04-14  Dave Love  <fx@gnu.org>
-
-       * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
-       * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
-       * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
-       * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
-       NLIST_STRUCT.
-
-       * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
-       autoconfiscated HAVE_GETLOADAVG.
-
-       * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
-       BROKEN_MKTIME.
-
-2000-04-14  Gerd Moellmann  <gerd@gnu.org>
-
-       * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
-       (fill_in_lock_file_name): Avoid existing files that aren't links.
-
-2000-04-14  Dave Love  <fx@gnu.org>
-
-       * Makefile.in (LIBS, LIBOBJS): New variable.
-       (INTERVAL_SRC): Convert to make variable.
-       (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
-       (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
-       (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
-       add LIBOBJS.
-       (SOME_MACHINE_OBJECTS): Remove interval stuff.
-       (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
-       (shortlisp): Add facemenu, float-sup, frame.
-       (SOME_MACHINE_LISP): Remove them from here.
-       (LIBES): Change unused LDLIBS to autoconf LIBS.
-
-       * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
-
-2000-04-14  Kenichi Handa  <handa@etl.go.jp>
-
-       * composite.c (update_compositions): If FROM and TO are not in a
-       valid range, do nothing.
-
-2000-04-13  Gerd Moellmann  <gerd@gnu.org>
-
-       * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
-
-       * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
-
-       * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
-       as TERMCAP_OBJ.
-
-2000-04-13  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * fileio.c (a_write): Remove redundant semi-colons.
-       (e_write): Return -1 if failed to write all the data.
-       This fixes the changes made at 1999-12-15.
-
-2000-04-12  Dave Love  <fx@gnu.org>
-
-       * fns.c (mapcar1): Test for null vals to support mapc.
-       (Fmapc): New function.
-
-2000-04-12  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.c (NUM_MOUSE_BUTTONS): Define.
-       (IT_frame_up_to_date): Support the buffer local value of
-       cursor-type, if defined.
-
-2000-04-10  Dave Love  <fx@gnu.org>
-
-       * editfns.c (preceding-char, following-char): Doc fix.
-
-2000-04-10  Ken Raeburn  <raeburn@gnu.org>
-
-       * Makefile.in (temacs): Revert 2000-03-12 change.
-
-2000-04-10  Jason Rumney  <jasonr@gnu.org>
-
-       * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
-
-2000-04-10  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (setup_echo_area_for_printing): Choose an echo
-       area buffer, if it's not set up yet.
-
-       * indent.c (compute_motion): Set immediate_quit.
-
-2000-04-09  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
-       (realize_tty_face): Suppress boldness if colors are the inverse of
-       the default colors, and tty_suppress_bold_inverse_default_colors_p
-       is set.
-       (Ftty_suppress_bold_inverse_default_colors): New function.
-       (syms_of_xfaces): Defsubr it.
-
-       * buffer.c (Frestore_buffer_modified_p): New function.
-       (syms_of_buffer): Defsubr it.
-
-2000-04-08  Ken Raeburn  <raeburn@gnu.org>
-
-       * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
-       charset id (int) argument, not a charset (Lisp_Object).
-
-       * coding.h (code_convert_string): Declare.
-       * coding.c (code_convert_string_norecord): Pass an int, not a lisp
-       object, as the fourth argument to code_convert_string.
-
-       * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
-       (Fset_fontset_font): Use EQ to compare lisp objects.
-
-2000-04-05  Ken Raeburn  <raeburn@gnu.org>
-
-       * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
-       a pointer that looks like a lisp object.
-       (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
-       zero, instead see whether it's an integer object, since they can't
-       have intervals.
-       (GET_INTERVAL_OBJECT): Simply assign to the destination.
-
-       * dispnew.c (allocate_matrices_for_frame_redisplay)
-       (direct_output_forward_char): Use X(U)INT and make_number as needed
-       to convert between (unsigned) int values and lisp integers.
-       * keyboard.c (read_key_sequence): Likewise.
-       * lread.c (substitute_object_recurse): Likewise.
-       * fns.c (concat, hash_lookup, hash_remove): Likewise.
-       * minibuf.c (do_completion, Fminibuffer_complete_word)
-       (Fminibuffer_completion_help): Likewise.
-       * term.c (produce_special_glyphs): Likewise.
-
-       * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
-       * print.c (print_preprocess, print_object): Likewise.
-
-       * search.c (compile_pattern): Use NILP when checking for nil.
-
-       * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
-       __OPTIMIZE__]: Provide a GNU C macro version that handles
-       lisp-object unions.
-       (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
-       field, to better cope with ENABLE_CHECKING and calls that modify a
-       Lisp_Object using its old value.
-
-2000-04-04  Gerd Moellmann  <gerd@gnu.org>
-
-       * window.c (compare_window_configurations): Signal an error
-       if parameters C1 or C2 aren't window configurations.
-
-       * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
-       AFTER_POTENTIAL_GC calls around calls to functions that can
-       signal an error and thus invoke the debugger.
-
-2000-04-03  Gerd Moellmann  <gerd@gnu.org>
-
-       * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
-       an error if decoding fails.
-
-       * keyboard.c (lispy_mouse_names): Variable removed.
-       (Vlispy_mouse_stem): New variable.
-       (syms_of_keyboard): Initialize Vlispy_mouse_stem.
-       (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
-       for any mouse button number.  Increase size of mouse_syms and
-       button_down_location as needed.  Call modify_event_symbol with
-       different arguments.
-       (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
-       Call modify_event_symbol with different arguments.
-       (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
-       for any button number.  Call modify_event_symbol with different
-       arguments.
-       (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
-       Accept a string for NAME_ALIST_OR_STEM.
-
-       * lisp.h (larger_vector): Add prototype.
-
-       * fns.c (larger_vector): Make externally visible.
-
-       * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
-
-2000-04-02  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
-       (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
-       (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
-       we are between str1 and str2.
-       (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
-       (PATFETCH): Use `TRANSLATE'.
-       (PATFETCH_RAW): Fetch multibyte char if applicable.
-       (PATUNFETCH): Remove.
-       (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
-       When writing a char, write it directly into the pattern buffer rather
-       than going needlessly through a temp char-array.
-       (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
-       multibyte magic and remove the useless `#ifdef emacs'.
-       (bcmp_translate): Don't compare as multibyte chars when in a unibyte
-       buffer.
-
-       * regex.h (struct re_pattern_buffer): Make field `multibyte'
-       conditional on `emacs'.
-
-       * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
-
-2000-04-01  Ken Raeburn  <raeburn@gnu.org>
-
-       * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
-       non-union-type versions of XMARK and friends here, because XMARK
-       and friends won't work on an integer field if NO_UNION_TYPE is not
-       defined.
-       (make_number): Define as a function if it's not defined as a macro.
-
-       * composite.c (run_composite_function): Use NILP when checking for nil.
-       (syms_of_composite): Delete local var NARGS, pass an int as first
-       argument to Fmake_hash_table.
-
-       * editfns.c (text_property_stickiness): Use NILP to test
-       Lisp_Object boolean value.
-       (Fmessage_or_box): Don't use NILP to test int variable.
-       (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
-       problems reading from and changing the same lisp value in an
-       XSETSTRING call.
-
-2000-04-01  Gerd Moellmann  <gerd@gnu.org>
-
-       * term.c (TN_no_color_video): New variable.
-       (term_init): Intitialize TN_no_color_video.
-       (enum no_color_bit): New enumeration.
-       (MAY_USE_WITH_COLORS_P): New macro.
-       (turn_on_face): Use it to determine if attributes may be used
-       combined with colors.
-
-2000-04-01  Ken Raeburn  <raeburn@gnu.org>
-
-       * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
-       with int lvalues via casts; instead, just yield lisp object lvalues.
-       (enlarge_window): Variable sizep now points to Lisp_Object.  Use
-       proper accessor macros.
-       (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
-       (grow_mini_window): Fix typo getting int value of root->height.
-
-       * xdisp.c (compute_string_pos): Fix order of arguments to
-       string_pos_nchars_ahead.
-       (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
-       count arg to variable-arg routines like Frun_hook_with_args and
-       Fformat.
-       (back_to_previous_visible_line_start)
-       (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
-       fixed-arg routines like Fget_char_property and Fmake_string.
-       (reconsider_clip_changes): Use XINT when comparing integer lisp
-       objects, or passing them as int arguments.
-       (mark_window_display_accurate, insert_left_trunc_glyphs)
-       (append_space, extend_face_to_end_of_line): Use make_number when
-       storing or passing integer values as lisp objects.
-       (set_cursor_from_row, highlight_trailing_whitespace): Use
-       INTEGERP, not implicit test against zero, for glyph object.
-       (try_window_id): Don't use make_number when we want an int value.
-
-       * xfaces.c (xlfd_symbolic_value): Make last argument a
-       Lisp_Object, to be consistent with callers.
-       (Fbitmap_spec_p): Use XINT to get numeric value of height.
-       (lface_hash): Apply XFASTINT to lisp values before folding in.
-
-       * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
-       fill in window width and height.  Pass an int, not a lisp object,
-       as first arg to Finsert.
-
-2000-04-01  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfaces.c (realize_basic_faces): Block input while realizing
-       the faces.
-
-       * keyboard.c (lispy_mouse_names): Add additional mouse names.
-
-       * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
-
-2000-03-31  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (x_produce_glyphs): When displaying unibyte text
-       or ASCII, handle case that per-char metric is null.
-
-2000-03-30  Ken Raeburn  <raeburn@gnu.org>
-
-       * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
-
-       * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
-       (XSUBR, XBUFFER): Verify correct object type before returning
-       pointer, using eassert.
-       * frame.h (XFRAME): Likewise.
-
-       * buffer.c (Frename_buffer, Fset_buffer_multibyte)
-       (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
-       XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
-       * data.c (set_internal): Likewise.
-       * dispextern.h (WINDOW_WANTS_MODELINE_P)
-       (WINDOW_WANTS_HEADER_LINE_P): Likewise.
-       * fileio.c (auto_save_1): Likewise.
-       * insdel.c (check_markers): Likewise.
-       * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
-       * undo.c (record_insert): Likewise.
-       * vmsproc.c (child_sig): Likewise.
-       * window.c (unshow_buffer, window_loop): Likewise.
-       * xterm.c (x_erase_phys_cursor): Likewise.
-
-2000-03-30  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfns.c (free_image_cache): Free the cache structure itself
-       last, after all its members have been freed.
-
-       * lisp.h (xstrdup): Add prototype.
-
-       * alloc.c (xstrdup): Moved here from xfaces.c.
-       (allocating_for_lisp): Variable removed.
-       (lisp_malloc): Block input around the calls to malloc and mem_insert.
-
-       * xfaces.c (realize_tty_face): Use find_symbol_value instead
-       of Fsymbol_value.
-       (xstrdup): Moved to alloc.c.
-
-2000-03-29  Ken Raeburn  <raeburn@gnu.org>
-
-       * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
-
-       * emacs.c (main): Fix sense of no-loadup test.
-
-       * config.in (ENABLE_CHECKING): Undef.
-
-       * lisp.h (struct interval): Replace "parent" field with a union of
-       interval pointer and Lisp_Object; add new bitfield to use as
-       discriminant.  Change other flag fields to bitfields.
-       (CHECK): New macro for consistency checking.  If ENABLE_CHECKING
-       is defined and the supplied test fails, print a message and abort.
-       (eassert): New macro.  Use CHECK to provide an assert-like facility.
-
-       * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
-       pointers; abort if the value looks like a lisp object.
-       (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
-       (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
-       Modify for new interval parent definition.
-
-       * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
-       (UNMARK_BALANCE_INTERVALS): Update references that need an
-       addressable lisp object in the interval structure.
-       (die): New function.
-       (suppress_checking): New variable.
-
-       * intervals.c (interval_start_pos): Just return 0 if there's no
-       parent object.
-
-2000-03-29  Gerd Moellmann  <gerd@gnu.org>
-
-       * lread.c (read1): Accept `.' (period) as symbol start like in CL
-       and earlier Emacs versions.
-
-       * keyboard.c (Ftop_level): Cancel busy-cursor.
-
-       * eval.c (call_debugger): Cancel busy-cursor.
-
-2000-03-29  Kenichi Handa  <handa@etl.go.jp>
-
-       * search.c (Freplace_match): Adjust multibyteness of the current
-       buffer and NEWTEXT.  Free allocated memory before signaling an error.
-
-2000-03-28  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * regex.c (analyse_first): New function obtained by ripping out most
-       of re_compile_fastmap and generalizing it a little bit so that it
-       can also just return whether a given (sub)pattern can match the empty
-       string or not.
-       (regex_compile): Use `analyse_first' to decide whether the loop-check
-       needs to be done or not for *, +, *? and +? (the loop check is costly
-       for non-greedy repetition).
-       (re_compile_fastmap): Delegate the actual work to `analyse_first'.
-
-2000-03-28  Dave Love  <fx@gnu.org>
-
-       * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
-
-       * alloc.c: Include stdio.h.  Test STDC_HEADERS, not __STDC__.
-
-2000-03-27  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
-       an expression.
-       (enum re_opcode_t): Update description of succeed_n.
-       (PATFETCH): Always define.
-       (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
-       operators, char classes, shy-groups and intervals).
-       Optimize special cases of intervals so as to only use succeed_n and
-       jump_n when really needed.
-       (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
-       that we don't have to handle the special cases any more.
-       Simplify on_failure_jump handling as well.
-
-2000-03-28  Jason Rumney  <jasonr@gnu.org>
-
-       * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
-
-2000-03-27  Gerd Moellmann  <gerd@gnu.org>
-
-       * s/freebsd.h (GC_SETJMP_WORKS): Define.
-
-       * s/msdos.h (GC_SETJMP_WORKS): Define.
-
-       * alloc.c (mark_maybe_object): New function.
-       (mark_memory): Use it.
-       (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
-       (setjmp_tested_p, longjmp_done): New variables.
-       (test_setjmp): New function.
-       (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
-       (init_alloc): Initialize setjmp_tested_p and longjmp_done.
-
-       * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
-       to DEC_TEXT_POS and INC_TEXT_POS.
-
-       * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
-       with parameter MULTIBYTE_P.
-
-       * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
-
-       * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
-       buffers because it looks for multibyte character byte sequences
-       which don't exist in unibyte text.
-
-       * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
-
-       * xfaces.c (register_color, unregister_color, unregister_colors)
-       [DEBUG_X_COLORS]: New functions.
-       (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
-
-       * xfns.c (x_set_cursor_color): Get color reference counts right.
-
-       * xterm.c (x_copy_color): New function.
-       (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
-
-       * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
-       (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
-       (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
-       (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
-       (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
-       (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
-       (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
-       (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
-       (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
-       (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
-
-       * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
-       names for handling per-buffer variables.
-
-       * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
-       instead of MAX_BUFFER_LOCAL_VARS.
-       (last_per_buffer_idx): Renamed from max_buffer_local_idx.
-
-       * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
-
-       * xfns.c (x_specified_cursor_type): New function.
-       (x_set_cursor_type): Use it.
-
-       * buffer.h (struct buffer): Add cursor_type.
-
-2000-03-26  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
-       (print_partial_compiled_pattern, re_compile_fastmap):
-       Handle new opcode.
-       (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
-       (re_match_2_internal): Add code for on_failure_jump_nastyloop when
-       executing it as well as when popping it off the stack to find infinite
-       loops in non-greedy repetition operators.
-
-2000-03-26  Gerd Moellmann  <gerd@gnu.org>
-
-       * doc.c (Qfunction_documentation): New variable.
-       (syms_of_doc): Initialize Qfunction_documentation.
-       (Fdocumentation): If FUNCTION is a symbol with non-nil
-       `function-documentation' property, return a documentation derived
-       from that.
-
-       * buffer.c (syms_of_buffer): Add default-cursor-type.
-       (init_buffer_once): Don't let cursor_type have a local value
-       in every buffer.
-
-       * xterm.c (x_display_and_set_cursor): Choose cursor depending
-       on buffer-local value of cursor_type.
-       (x_draw_bar_cursor): Add parameter WIDTH.
-
-       * buffer.c (reset_buffer): Initialize buffer's cursor_type.
-       (init_buffer_once): Set default cursor_type value to t.
-       Mark cursor_type as local everywhere.
-       (syms_of_buffer): New per-buffer variable cursor-type.
-
-       * buffer.h (struct buffer): Remove member local_var_flags,
-       add local_flags.
-       (MAX_BUFFER_LOCAL_VARS): New macro.
-       (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
-       (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
-       (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
-       (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
-
-       * print.c (print_object): Use new macros for per-buffer variables.
-
-       * category.c (Fset_category_table): Use new macros for per-buffer
-       variables.
-
-       * buffer.c (buffer_permanent_local_flags): Make a char array.
-       (max_buffer_local_idx): New variable.
-       (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
-       for new handling of per-buffer variables.
-       (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
-       (init_buffer_once): Initialize per-buffer vars differently.
-       Set max_buffer_local_idx.
-
-       * syntax.c (Fset_syntax_table): Use new macros for per-buffer
-       variables.
-
-       * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
-
-       * data.c (do_symval_forwarding, store_symval_forwarding)
-       (find_symbol_value, set_internal, default_value, Fset_default)
-       (Fkill_local_variable, Flocal_variable_p): Use new macros for
-       per-buffer variables.
-
-       * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
-
-2000-03-24  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (x_term_init): Unblock input around call1 of
-       Qvendor_specific_keysyms.
-
-       * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
-       (find_defun_start): Consider an open parenthesis in column 0
-       a defun start only if open_paren_in_column_0_is_defun_start is set.
-       (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
-
-2000-03-24  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * eval.c (Fautoload): Add entry in load-history (if after dump).
-       * lread.c (load-history): Update docstring.
-
-2000-03-24  Gerd Moellmann  <gerd@gnu.org>
-
-       * indent.c (Fvertical_motion): Always use the current buffer.
-       Temporarily change the window's buffer, if necessary.
-
-2000-03-23  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (fast_find_position): Make sure not to consider rows
-       not visible in the window.
-
-2000-03-22  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * regex.c (enum syntaxcode): Provide default for non-Emacs.
-       (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
-
-2000-03-22  Jason Rumney  <jasonr@gnu.org>
-
-       * w32menu.c (single_submenu): Set help string to NULL if none.
-       (w32_menu_show): Set help string correctly.
-       (add-menu-item): Set help string in MIIM_DATA for menu item.
-       Load SetMenuItemInfoA explicitly.
-       (w32_menu_display_help): New function.
-
-       * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
-       (QCdata): Moved to xdisp.c.
-
-       * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
-       (Vw32_charset_to_codepage_alist): Removed.
-       (Vw32_charset_info_alist): New variable.
-       (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
-       (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
-       (greek, hebrew, thai, johab, mac, unicode]): New symbols.
-       (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
-       with TODO comment.
-       (w32_codepage_for_font): Use Vw32_charset_info_alist.
-       (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
-       Define Vw32_charset_info_alist and w32_charset symbols.
-
-2000-03-22  Jason Rumney  <jasonr@gnu.org>
-
-       * makefile.nt (w32bdf.obj): Update dependencies.
-
-       * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
-
-       * w32fns.c: Include fontset.h after dispextern.h.
-       (Fx_create_frame): Do not create fontset.
-       (w32_load_system_font): Doc fix.
-       (Fx_close_connection): Free full_name if it is not shared.
-
-       * w32term.c: Include fontset.h after dispextern.h.
-       (x_get_glyph_face_and_encoding): New parameter two_byte_p.
-       Callers updated.
-       (w32_per_char_metric): If PCM is invalid, delete and return NULL.
-       (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
-       (w32_font_is_double_byte): New function, needs body.
-       (x_append_glyph): Set glyph->glyph_not_available_p.
-       (x_produce_glyphs): Set it->glyph_not_available_p.  Don't set
-       it->charset.  If it->multibyte_p is zero and it->c is a multibyte
-       character, convert it to a unibyte character.
-       (struct glyph_string): Delete member `charset'.
-       (W32_TEXTOUT): Temporarily remove charset_dim until another way of
-       calculating it is found.
-       (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id.  Handle
-       the case that per char metric is not available correctly.
-       (x_fill_glyph_string): Handle the case that the specific glyph is
-       not available correctly.
-       (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
-       (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
-       (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
-       (x_new_fontset): Call fontset_ascii to get ASCII font name of the
-       fontset.  Don't call FS_LOAD_FONT.
-
-2000-03-22  Ken Raeburn  <raeburn@gnu.org>
-
-       * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
-       (INT_LISPLIKE): New macro.
-       (NULL_INTERVAL_P): Use it.
-       (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
-       (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
-       (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
-
-       * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
-       explicit references to "parent" field of struct interval and
-       associated unclean type conversions.
-       * intervals.c (create_root_interval, root_interval, rotate_right)
-       (rotate_left, balance_possible_root_interval, split_interval_right)
-       (split_interval_left, interval_start_pos, find_interval)
-       (next_interval, previous_interval, update_interval)
-       (adjust_intervals_for_insertion, delete_node, delete_interval)
-       (adjust_intervals_for_deletion, merge_interval_right)
-       (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
-       (copy_intervals_to_string): Likewise.
-       * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
-       Likewise.
-       * syntax.c (update_syntax_table): Likewise.
-
-       * intervals.c (reproduce_tree_obj): New function, like
-       reproduce_tree but takes a Lisp_Object for the parent.  Declare
-       with prototype.
-       (graft_intervals_into_buffer): Use it when appropriate.
-       (reproduce_tree): Declare with prototype.
-       (balance_possible_root_interval): Check that the parent is a lisp
-       object before trying to examine its type.
-
-2000-03-22  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfaces.c (lface_same_font_attributes_p): Compare font attributes
-       as strings only if both are known to be strings.
-
-       * s/openbsd.h (LIBS_TERMCAP): Undef.
-
-2000-03-21  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
-       definitions for non-Emacs compilation.
-       (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
-       outside of `#ifdef emacs'.
-       (print_partial_compiled_pattern): Update.
-       (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
-       (re_compile_fastmap): Merge handling of charset and charset_not (for
-       emacs and non-emacs compilation as well).
-       Similarly for (not)categoryspec and (not)syntaxspec.
-       Don't use the fastmap when reaching `anychar' since the added
-       complexity is not justified.
-       (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
-       and (not)syntaxspec.  Merge (not)categoryspec.
-
-2000-03-22  Kenichi Handa  <handa@etl.go.jp>
-
-       * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
-       (FACE_FOR_CHAR): Define them differently for the configuration of
-       --without-x.
-
-2000-03-21  Dave Love  <fx@gnu.org>
-
-       * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
-       doc string.
-
-2000-03-21  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
-       (lface_fully_specified_p): Don't check contents of
-       LFACE_FONT_INDEX because that attribute is optional.
-       (realize_x_face): Remove now unwarranted xassert.
-
-2000-03-21  Kenichi HANDA  <handa@etl.go.jp>
-
-       The following changes are to make font selection based on
-       characters, not charset.  In addition, they recover fontset
-       facilities while utilizing the new font selection mechanism.
-
-       * Makefile.in (fontset.o): Depend on dispextern.h.
-
-       * alloc.c (mark_face_cache): Don't mark face->registry.
-
-       * dispextern.h (struct glyph): New member glyph_not_available_p.
-       Use 22 bits for face_id.
-       (enum lface_attribute_index): Add LFACE_FONT_INDEX.
-       (struct face): Delete member registry, new member ascii_face.
-       (FACE_SUITABLE_FOR_CHAR_P): Renamed from
-       FACE_SUITABLE_FOR_CHARSET_P.  Caller changed.
-       (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET.  Caller changed.
-       (struct it): Delete member charset, new member glyph_not_available_p.
-
-       * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
-       (struct fontset_info, struct fontset_data): Structs removed.
-       (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
-       (Vglobale_fontset_alist, font_idx_temp): Externs removed.
-       (fs_load_font, fs_query_fontset): Adjusted for new argument.
-       (fs_free_face_fontset, fontset_font_pattern)
-       (face_suitable_for_char_p, face_for_char)
-       (make_fontset_for_ascii_face): Extern them.
-       (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
-       (FS_LOAD_FACE_FONT): New macro.
-
-       * fontset.c: All codes rewritten or adjusted for the change of
-       fontset implementation.  Now fontset is represented by char table.
-       (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
-       Variables removed.
-       (my_strcasecmp): Function removed.
-       (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
-       (AREF, ASIZE): New macros.
-       (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
-       (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
-       (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
-       (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
-       (fontset_id_valid_p, font_family_registry, fontset_name)
-       (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
-       (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
-       New functions.
-       (fs_load_font): New arg FACE.  Caller changed.
-       (fs_query_fontset): Argument changed.  Caller changed.
-       (Fquery_fontset): call fs_query_fontset.
-       (fs_register_fontset, alloc_fontset_data, free_fontset_data):
-       Functions removed.
-       (clear_fontset_elements, check_registry_encoding)
-       (check_fontset_name): New functions.
-       (syms_of_fontset): Set char-table-extra-slots property of fontset
-       to 3.  Staticpro and initialize Vfontset_table and
-       Vdefault_fontset.  Defsubr fontset_font and fontset_list.
-
-       * frame.h (struct frame): Member `fontset_data' removed.
-       (FRAME_FONTSET_DATA): Macro removed.
-
-       * frame.c (make_frame): Don't allocate f->fontset_data.
-       (Fdelete_frame): Don't free f->fontset_data.
-
-       * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
-
-       * xdisp.c (charset_at_position): Function removed.
-       (init_iterator): Don't set member charset of struct `it'.
-       (handle_face_prop, reseat_to_string, set_iterator_to_next)
-       (next_element_from_display_vector, insert_left_trunc_glyphs):
-       Likewise.
-       (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
-       FACE_FOR_CHARSET.
-       (get_next_display_element, append_space)
-       (extend_face_to_end_of_line): Likewise.
-
-       * xfaces.c (Qx_charset_registry, Vface_default_registry):
-       Variables removed.
-       (clear_font_table, frame_update_line_height, load_face_font):
-       Adjusted for the change of fontset implementation.
-       (load_face_fontset_font): Function removed.
-       (pixel_point_size): New function.
-       (font_list): Argument type changed.  Caller changed.
-       (LFACE_FONT): New macro.
-       (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
-       (set_lface_from_font_name): Type of arg FONTNAME is changed to
-       Lisp_Object.  Determine the font name by actually loading a font
-       by the specified pattern.  Set LFACE_FONT (lface) to the specified
-       pattern.  Even if a font is not found, don't try alternatives.
-       (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
-       (set_font_frame_param): If `font' is specified in lface, use it.
-       (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
-       (lface_same_font_attributes_p): Likewise.
-       (make_realized_face): Arguent changed.  Caller changed.  Set
-       face->ascii_face to face itself.
-       (free_realized_face): Free face->fontset if face is for ASCII.
-       (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
-       (deduce_unibyte_registry, x_charset_registry): Functions removed.
-       (free_realized_multibyte_face): New function.
-       (lookup_face, lookup_named_face, lookup_derived_face): Argument
-       changed.  Caller changed.
-       (try_font_list): Argument type changed.
-       (face_fontset): Check `font' slot of ATTRS, not `family' slot.
-       (choose_face_font): Argument changed.  Handle fontset properly.
-       (choose_face_fontset_font): Function removed.
-       (realize_default_face, realize_named_face): Don't remove the
-       former face here.
-       (realize_face): Argument changed.  Caller changed.  Remove face
-       with the arg former_face_id in advance.  Load font for the new face.
-       (realize_x_face): Argument changed.  Caller changed.  For a
-       multibyte character, share fontset with base_face.  For a single
-       byte character, make a new realized fontset.  Don't load a font here.
-       (realize_tty_face): Argument changed.  Caller changed.
-       (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
-       (face_at_buffer_position): Don't check multibyte_p for returning
-       DEFAULT_FACE_ID.
-       (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
-       FACE_SUITABLE_FOR_CHARSET_P.
-       (syms_of_xfaces): Remove code for Qx_charset_registry and
-       Vface_default_registry.
-
-       * xterm.c: Include fontset.h after dispextern.h.  Undo the changes
-       related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
-       (x_per_char_metric): Don't try FONT->default_char.  Even if
-       pcm->width is zero, glyph bits may exist.
-       (x_encode_char): Always initialize char2b->byte1.
-       (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
-       (x_get_glyph_face_and_encoding): New arg two_byte_p.  Caller changed.
-       (x_append_glyph): Set glyph->glyph_not_available_p.
-       (x_produce_glyphs): Set it->glyph_not_available_p.  Don't set
-       it->charset.  Handle the case that per char metric is not
-       available.  If it->multibyte_p is zero and it->c is a multibyte
-       character, convert it to a unibyte character.
-       (struct glyph_string): Delete member `charset'.
-       (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id.  Handle
-       the case that per char metric is not available correctly.
-       (x_fill_glyph_string): Handle the case that the specific glyph is
-       not available correctly.
-       (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
-       (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
-       (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
-       (x_new_fontset): Call fontset_ascii to get ASCII font name of the
-       fontset.  Don't call FS_LOAD_FONT.
-
-       * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
-       (x_create_tip_frame): Likewise.
-       (Fx_close_connection): Free full_name of font_info.
-
-       * fns.c (optimize_sub_char_table): New function.
-       (Foptimize_char_table): New function.
-       (syms_of_fns): Defsubr Soptimize_char_table.
-
-2000-03-20  Gerd Moellmann  <gerd@gnu.org>
-
-       * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
-       only if buffer is displayed in some window.
-
-       * xdisp.c (handle_single_display_prop): Initialize local `value'.
-       (try_window_reusing_current_matrix): Don't call scroll run
-       function if run's current and desired position are the same;
-       this prevents cursor flickering.
-
-2000-03-19  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
-
-       * regex.c (RE_STRING_CHAR): New macro.
-       (GET_CHAR_AFER_2): Remove.
-       (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
-       (enum re_opcode_t): Remove on_failure_jump_exclusive.
-       (print_partial_compiled_pattern, re_compile_fastmap)
-       (re_match_2_internal): Remove on_failure_jump_exclusive.
-       (regex_compile): Turn optimizable P+ loops into PP*, so that the
-       optimization only need to work for * (ie. can use of_keep_string_jump).
-       Remove the special case for .*\n since it is now covered by the general
-       optimization.
-       (re_search_2): Don't bother with `room'.
-       (skip_one_char): New function.
-       (skip_noops): Simplify since `memory' is not needed any more.
-       (mutually_exclusive_p): Restructure slightly to use `switch' and
-       add handling for "all" remaining cases.
-       (re_match_2_internal): Change on_failure_jump_smart to use
-       on_failure_keep_string_jump (and redirect the end-of-loop jump)
-       rather than on_failure_jump_exclusive.
-
-2000-03-19  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
-       number of bits per RGB because it's everywhere used as the depth
-       of the visual.
-
-       * term.c (calculate_costs): Remove code dealing with X frames.
-
-2000-03-19  Richard M. Stallman  <rms@gnu.org>
-
-       * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
-
-2000-03-18  Gerd Moellmann  <gerd@gnu.org>
-
-       * lread.c (read_integer): Unread the last char not consumed.
-
-2000-03-17  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (x_update_window_cursor): Don't update in frames
-       which are in the process of being deleted.
-
-2000-03-16  Gerd Moellmann  <gerd@gnu.org>
-
-       * Makefile.in (mostlyclean): Add `*.core'.
-       (clean): Add `bootstrap-emacs'.
-
-       * lread.c (read_integer): New function.
-       (read1): Support read syntax #o, #x, #b, #r.
-
-2000-03-15  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * regex.c (re_match_2): Fix string shortening (to fit `stop') to
-       make sure POINTER_TO_OFFSET gives the same value before and after
-       PREFETCH.  Use `dfail' to guarantee "atomic" matching.
-       (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
-       (debug): Now only active if > 0 rather than if != 0.
-       (DEBUG_*): Update for the new meaning of `debug'.
-       (print_partial_compiled_pattern): Add missing `succeed' case.  Use
-       CHARSET_* macros in the charset(_not) branch.  Fix off-by-two bugs
-       in `succeed_n', `jump_n' and `set_number_at'.
-       (store_op1, store_op2, insert_op1, insert_op2)
-       (at_begline_loc_p, at_endline_loc_p): Add prototype.
-       (group_in_compile_stack): Move to after its arg's types are
-       declared and add a prototype.
-       (PATFETCH): Define in terms of PATFETCH_RAW.
-       (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
-       (QUIT): Redefine as a nop except for NTemacs.
-       (regex_compile): Handle intervals {,M} as if it was {0,M}.  Fix
-       indentation of the greedy-op and shy-group code.
-       (at_(beg|end)line_loc_p): Fix argument's types.
-       (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
-       (re_search_2): Use POS_AS_IN_BUFFER.  Simplify `room' computation.
-       (MATCHING_IN_FIRST_STRING): Remove.
-       (re_match_2): Use POS_AS_IN_BUFFER.  Ifdef out failure_stack_ptr
-       to shut up gcc.  Use FIRST_STRING_P and POINTER_TO_OFFSET.  Use
-       QUIT unconditionally.
-
-2000-03-15  Gerd Moellmann  <gerd@gnu.org>
-
-       * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
-       a sole completion.
-
-       * process.c (send_process): Add a hint that the function
-       can call Lisp code to its comment.
-
-       * lread.c (load_dangerous_libraries): New variable.
-       (Vbytecomp_version_regexp): New variable.
-       (safe_to_load_p): New function.
-       (Fload): Handle files not compiled with Emacs specially.
-       (syms_of_lread): New Lisp variable load-dangerous-libraries.
-
-2000-03-14  Gerd Moellmann  <gerd@gnu.org>
-
-       * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
-
-       * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
-       support functions only if HAVE_X11R6_XIM is defined.
-       (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
-
-       * s/sol2.h (INHIBIT_X11R6_XIM): Define.
-
-       * xfns.c (X_I18N_INHIBITED): Don't define.
-       (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
-       (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
-
-       * config.in (HAVE_X_I18N): Moved here from xterm.h.
-       (HAVE_X11R6_XIM): Define.
-
-       * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
-
-       * xterm.c (x_term_init): Add support for X resource `synchronous'.
-       If set, call XSynchronize.
-
-2000-03-13  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * regex.c: Declare a new type `re_char' used throughout the code
-       for the string char type.  It's `const unsigned char' to match the
-       rest of Emacs.  Consistently make sure all pointers to strings use
-       it and make sure all pointers into the pattern use `unsigned char'.
-       (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
-       GET_CHAR_AFTER_2.  Also merge wordbound and notwordbound to reduce
-       code duplication.
-
-       * charset.h (GET_CHAR_AFTER_2): Remove.
-       (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
-
-2000-03-12  Ken Raeburn  <raeburn@gnu.org>
-
-       * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
-       variable before the invocation of YMF_PASS_LDFLAGS, in case both
-       of them try to use backquotes.
-
-2000-03-12  Dave Love  <fx@gnu.org>
-
-       * unexelf.c: Restore changes of 1999-10-19.
-       (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
-       fix its type and alignment; copy it from current process.
-
-2000-03-12  Gerd Moellmann  <gerd@gnu.org>
-
-       * atimer.c (cancel_atimer): Break out of the loop as soon as timer
-       has been found.  Fix bug not computing timer's predecessor.
-
-       * fileio.c (Fread_file_name): Handle case that DIR contains a
-       file name.
-
-       * window.c (Fsave_window_excursion): Doc fix.
-
-       * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
-
-2000-03-12  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.c (vga_installed): New function, code moved from
-       dos_set_window_size.
-       (Qbar, Qcursor_type, outside_cursor): New variables.
-       (syms_of_msdos): Intern and staticpro them.
-       (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
-       shape used outside Emacs when called for the first time.
-       (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
-       cursor shape used outside Emacs.
-       (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
-       (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
-       type has changed.
-       (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
-       parameters specify the cursor.  Make qreverse a global
-       variable (renamed to Qreverse).
-
-2000-03-09  Gerd Moellmann  <gerd@gnu.org>
-
-       * fns.c (Fy_or_n_p): Cancel busy-cursor.
-
-2000-03-08  Stefan Monnier  <monnier@cs.yale.edu>
-
-       This is a big redesign of failure-stack and register handling, prompted
-       by bugs revealed when trying to add shy-groups.  Overall, what happened
-       is that loops are now structured a little differently, groups can be
-       shy and the code is a little simpler.
-
-       * regex.h: Update the copyright.
-       (RE_SHY_GROUPS): New value.
-       (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
-       (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
-
-       * regex.c (enum re_opcode_t): Remove jump_past_alt,
-       maybe_pop_jump, push_dummy_failure and dumy_failure_jump.  Add
-       on_failure_jump_(exclusive, loop and smart).  Also fix the comment
-       for (start|stop)_memory since they now only take one argument (the
-       second has becomes unnecessary).
-       (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
-       (print_compiled_pattern): Use %ld to printf long ints and flush to
-       make debugging a little easier.
-       (union fail_stack_elt): Make the integer unsigned.
-       (struct fail_stack_type): Add a `frame' element.
-       (INIT_FAIL_STACK): Init `frame' as well.
-       (POP_PATTERN_OP): New macro for re_compile_fastmap.
-       (DEBUG_PUSH, DEBUG_POP): Remove.
-       (NUM_REG_ITEMS): Remove.
-       (NUM_NONREG_ITEMS): Adjust.
-       (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
-       (TOP_FAILURE_HANDLE): New macros for the cycle detection.
-       (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
-       (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
-       New macros.
-       (PUSH_FAILURE_POINT): Don't push registers any more.  The pattern
-       address pushed is not the destination of the jump but the source
-       of it instead.
-       (NUM_FAILURE_ITEMS): Remove.
-       (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
-       registers before the actual failure point).  Don't hardcode any
-       meaning for str==NULL anymore.
-       (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
-       (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
-       Remove.
-       (REG_UNSET_VALUE): Use NULL (why not?).
-       (compile_range): Remove declaration since it doesn't exist.
-       (struct compile_stack_elt_t): Remove inner_group_offset.
-       (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
-       (regex_grow_registers): Remove dead code.
-       (FIXUP_ALT_JUMP): New macro.
-       (regex_compile): Add shy-groups Change loops to use
-       on_failure_jump_smart&jump instead of
-       on_failure_jump&maybe_pop_jump.  Change + loops to eliminate the
-       initial (dummy_failure_)jump.  Remove c1_base (looks like unused
-       variable to me).  Use `jump' instead of `jump_past_alt' and don't
-       bother with push_dummy_failure in alternatives since it is now
-       unnecessary.  Use FIXUP_ALT_JUMP.  Eliminate a useless `#ifdef
-       emacs' for (re)allocating the stack.
-       (re_compile_fastmap): Remove dead variables i and num_regs.  Exit
-       from loop when bufp->can_be_null rather than jumping to `done'.
-       Avoid jumping backwards so as to ensure termination.  Use
-       PATTERN_STACK_EMPTY and POP_PATTERN_OP.  Improved handling of
-       backreferences.  Remove dead code in handling of `anychar'.
-       (skip_noops, mutually_exclusive_p): New functions taken from the
-       handling of `maybe_pop_jump' in re_match_2_internal.  Slightly
-       improve mutually_exclusive_p to handle ".+\n".
-       (lowest_active_reg, highest_active_reg)
-       (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
-       (re_match_2_internal): Use %p instead of 0x%x when printf'ing
-       ptrs.  Don't SET_REGS_MATCHED anymore.  Remove many dead
-       variables.  Push register (in `start_memory') on the stack rather
-       than storing it in old_reg(start|end).  Remove the cycle detection
-       from `stop_memory', replaced by the use of on_failure_jump_loop
-       for greedy loops.  Add code for the new on_failure_jump_<foo>.
-       Remove ad-hoc code in `on_failure_jump' to push more registers in
-       the case of a loop.  Take out code from `maybe_pop_jump' into
-       separate functions and adapt it to the semantics of
-       `on_failure_jump_smart'.  Remove jump_past_alt, dummy_failure_jump
-       and push_dummy_failure.  Remove dummy_failure handling and
-       handling of `failures to jump to on_failure_jump' (this last one
-       was already dead code, it seems).
-       (group_match_null_string_p, alt_match_null_string_p)
-       (common_op_match_null_string_p): Remove.
-
-2000-03-08  Dave Love  <fx@gnu.org>
-
-       * config.in: Don't depend on __STDC__ for volatile.
-       Add POINTER_TYPE, PTR, PROTOTYPES.
-
-       * hftctl.c, strftime.c: Use PROTOTYPES.
-       * eval.c (find_handler_clause): Likewise.
-
-       * mem-limits.h: Use POINTER_TYPE.
-
-       * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
-       (memory_warnings): Declare using POINTER_TYPE.
-
-2000-03-08  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
-
-       * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
-
-       * xfns.c: Remove obsolete code in #if 0.
-       (Fx_focus_frame): New function.
-
-2000-03-07  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>
-
-       * coding.c (coding_category_name): Add coding-category-utf-8,
-       coding-category-utf-16-be, coding-category-utf-16-le.
-       (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
-       UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
-       UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
-       (detect_coding_utf_8): New function.
-       (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
-       UTF_16_LOW_SURROGATE_P): New macros.
-       (detect_coding_utf_16): New function
-       (detect_coding_mask): When priorities are specified, skip any
-       categories that have `nil' coding-system.  Fix bug of returning
-       wrong mask when PRIORITIES is specified and detect_coding_XXX()
-       returns a mask not set in PRIORITIES.
-       (detect_eol_type_in_2_octet_form): New function.
-       (detect_eol): selects detect_eol_type_XXX to call according to
-       cooding->category_idx.
-       (detect_coding_system): Remove `nil' coding-system in the result.
-       (Fupdate_coding_systems_internal): Update all coding-categories.
-
-       * coding.h (CODING_CATEGORY_IDX_UTF_8)
-       (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
-       New macros.
-       (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
-       (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
-       (CODING_CATEGORY_IDX_UTF_16_LE)
-       (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
-       (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
-       (CODING_CATEGORY_MASK_ANY): Include the above macros.
-       (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
-
-2000-03-07  Gerd Moellmann  <gerd@gnu.org>
-
-       * doc.c (Fdocumentation_property): If value is not a string,
-       and doesn't refer to etc/DOC, evaluate it to obtain a string.
-
-       * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
-       close the display with XtCloseDisplay.  This caused a bus error
-       on OpenWindows.
-
-       * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
-       complete but not unique.
-
-2000-03-06  Gerd Moellmann  <gerd@gnu.org>
-
-       * process.c (send_process): Remove local variable `procname' that
-       might become invalid when a GC happens.  Instead, access the
-       process name slot directly.
-
-       * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
-       orig_height if set.
-
-       * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
-       orig_height if set.
-
-2000-03-06  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
-       glyph matrices have been freed.
-
-2000-03-05  Gerd Moellmann  <gerd@gnu.org>
-
-       * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
-       (bootstrap-temacs): Set LC_ALL to C like for temacs.
-
-       * xfns.c (QCdata): Moved to xdisp.c.
-
-       * xdisp.c (QCdata): Moved here from xfns.c.
-       (syms_of_xdisp): Initialize QCdata.
-
-       * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
-
-       * window.c (coordinates_in_window): Use
-       FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
-       FRAME_INTERNAL_BORDER_WIDTH.
-
-       * xdisp.c (try_window_id): Recompute unchanged information if
-       it is obviously invalid.
-
-       * xterm.c (x_term_init): Create a colormap if not using the
-       default visual.
-
-       * xterm.h (select_visual): Change prototype.
-
-       * xfns.c (select_visual): Rewritten.  Recognize user-specified
-       visual classes.
-       (visual_classes): New variable.
-
-2000-03-04  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
-       (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
-       (png_load): Access colormap of frame using FRAME_X_COLORMAP.
-       (x_decode_color): Don't handle allocation of white and black specially.
-       (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
-       XtNcolormap resources.
-       (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
-       (Fx_create_frame): Initialize color members of x_output structure.
-       (xpm_load): Pass colormap to XPM lib.
-
-       * xfaces.c (x_free_colors): Access colormap of frame using
-       FRAME_X_COLORMAP.  Be paranoid about freeing black and white
-       when default colormap is used.
-
-       * xterm.c (x_term_init): Set Colormap member of x_display_info
-       structure.  Copy colormap if resource `privateColormap' is
-       specified (PseudoColor only).
-       (x_setup_relief_color): Access colormap of frame using
-       FRAME_X_COLORMAP.
-
-       * xterm.h (struct x_display_info): Add Colormap member `cmap'.
-       (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
-
-2000-03-04  Jason Rumney  <jasonr@gnu.org>
-
-       * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
-       other non-platform-specific equivalents.
-       [WINDOWSNT]: Include w32term.h, fontset.h and define X
-       specific functions and macros as their w32 equivalents where
-       non-platform-specifics are not available.
-       [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
-       (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
-       (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
-       (frame_update_line_height): Use macros to access f->output_data.
-       (defined_color): Remove FIXME comments; fixed.
-       (x_face_list_fonts, prepare_face_for_display): Put X specifics
-       into #ifdef blocks. Add WINDOWSNT blocks.
-       (Fx_list_fonts): Use macros for accessing font data.
-       (set_lface_from_font_name): Different default fonts for X and
-       WINDOWSNT.
-       (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
-       scalable for backward compatibility.
-       (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
-       (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
-
-       * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
-       syms_of_w32faces.
-
-       * makefile.nt (w32faces.obj): Remove.
-       (xfaces.obj): Add.
-
-2000-03-03  Jason Rumney  <jasonr@gnu.org>
-
-       * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
-       correct parameters.
-
-2000-03-03  Ken Raeburn  <raeburn@gnu.org>
-
-       * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
-       standard ELF definitions here if the system header does not.
-
-2000-03-03  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (PER_CHAR_METRIC): Removed.
-       (x_per_char_metric_1, x_default_char): New functions.
-       (x_per_char_metric): If font's default char is invalid, return
-       metrics of a suitably chosen usable default char.
-       (x_draw_glyph_string_foreground): If font has an invalid default
-       char, replace occurrences of unprintable chars with a suitably
-       chosen usable default char.
-
-2000-03-02  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (note_mouse_highlight): Return quickly if frame's
-       glyph matrices have been freed.
-
-       * dispnew.c (free_glyphs): Block input while freeing matrices.
-
-       * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
-
-       * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
-       Use x_free_colors.
-
-       * dispextern.h (x_free_colors): Add prototype.
-
-       * xfaces.c (x_free_colors): New function.
-       (unload_color, free_face_colors): Use it.
-
-2000-03-02  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
-
-       * window.c [MSDOS]: Include msdos.h.
-
-2000-03-02  Dave Love  <fx@gnu.org>
-
-       * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
-
-       * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
-       set C_OPTIMIZE_SWITCH for gcc.
-
-2000-03-02  Kenichi Handa  <handa@etl.go.jp>
-
-       * coding.c (coding_save_composition): Be sure to allocate
-       composition data area in coding even if there's no composition in
-       the current run.
-
-2000-03-01  Jason Rumney  <jasonr@gnu.org>
-
-       * w32term.c: Equivalent changes to those made to xterm.c on
-       2000-02-25 and 2000-02-24.
-
-       * w32fns.c: Equivalent changes to those made to xfns.c on
-       2000-02-25 and 2000-02-21.
-
-       * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
-       correct line-end convention is followed.
-
-       * w32menu.c [HAVE_BOXES]: Remove #undef.
-       (single_keymap_panes): Remove code for simulating checkmarks.
-       (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
-       Remove code for drawing simulated checkmarks.
-       (w32_menu_show): make unibyte help string correctly.
-       (add_menu_item): draw standard Windows checkmarks. Draw radio
-       buttons as radio buttons if possible.
-
-2000-03-01  Gerd Moellmann  <gerd@gnu.org>
-
-       * sysdep.c (start_of_text): Don't define this function for NetBSD
-       with ELF.
-
-       * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
-       Don't define.
-       (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
-       (LINKER): Don't undef if __NetBSD__ is defined.
-
-       * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
-
-       * fileio.c [__NetBSD__]: Define `unix'.
-
-       * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
-
-2000-02-29  Gerd Moellmann  <gerd@gnu.org>
-
-       * atimer.c (start_atimer): Don't abort when timers are stopped.
-       (append_atimer_lists): New function.
-       (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
-       arbitrary lists of stopped and running atimers.
-
-       * atimer.c (cancel_atimer): Handle canceling an atimer when
-       some timers are stopped.
-
-       * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
-       after canceling it.
-
-       * fns.c (maybe_resize_hash_table): Handle case of new size
-       coming out as being the same as old size.
-
-2000-02-27  Jason Rumney  <jasonr@gnu.org>
-
-       * makefile.nt: Add atimer.h to dependencies.
-       * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
-       * w32console.c: Only disable window system features for dispextern.h
-       (initialize_w32_display): Build a display info for the console.
-       * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
-       * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
-       WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
-       as 2 button mice.
-       * w32gui.h (struct W32FontStruct): Revert last change after change
-       to xdisp.c.
-       * w32menu.c (single_submenu): Set up help string.
-       [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
-       (w32_dialog_show): Set up help string.
-       * w32term.c (w32_display_info_for_display): Remove unused function.
-       (w32_draw_bitmap): Use pre-built bitmaps.
-       (w32_initialize_display_info): New function to initialize parts of
-       display info that are common to both GUI and console frames.
-       (w32_term_init): Use w32_initialize_display_info. Do not set
-       Vw32_num_mouse_buttons here, as it is not called for console
-       frames.  Build bitmaps for indicating truncated lines etc.
-       (x_delete_display): Destroy pre-built bitmaps.
-       * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
-       (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
-
-2000-02-27  Dave Love  <fx@gnu.org>
-
-       * lisp.h: Add a bunch of prototypes.
-
-2000-02-26  Kenichi Handa  <handa@etl.go.jp>
-
-       * keyboard.c (read_char): Set `usec' correctly.
-
-2000-02-25  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>
-
-       * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
-       `lambda', set reg[RRR] to the map index.
-       (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
-       reg[RRR] to 0.  Otherwise, set it to -1.
-
-2000-02-25  Gerd Moellmann  <gerd@gnu.org>
-
-       * emacs.c (main): Remove code snippet commented out with `//'.
-
-2000-02-25  Richard M. Stallman  <rms@gnu.org>
-
-       * fileio.c (Ffile_symlink_p): If result starts with a `/'
-       and contains a `:', prepend `/:'.
-
-       * window.c (select_window_1): If selected_window is nil,
-       don't "swap out" the buffer's point.
-       (Fset_window_configuration): Set selected_window to nil
-       before calling Fselect_window.
-       (unshow_buffer): Don't set point in buffer from window's point
-       if another more recently selected window also shows the buffer.
-
-2000-02-25  Gerd Moellmann  <gerd@gnu.org>
-
-       * keyboard.c (recursive_edit_1): Cancel busy-cursor.
-
-       * xfns.c (inhibit_busy_cursor, busy_count): Removed.
-       (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
-       (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
-       New variables.
-       (DEFAULT_BUSY_CURSOR_DELAY): New define.
-       (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
-       (hide_busy_cursor): New functions.
-       (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
-
-       * minibuf.c (read_minibuf): Cancel busy-cursor.
-
-       * keyboard.c (command_loop_1): Call start_busy_cursor before
-       Fcommand_execute and cancel_busy_cursor after it.
-       (timer_check): Remove busy-cursor code.
-       (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
-       cursor timer.
-
-       * process.c (wait_reading_process_input): Remove busy-cursor code.
-
-       * eval.c (Fsignal): Call cancel_busy_cursor instead of
-       Fx_hide_busy_cursor.
-
-       * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
-       Remove prototyoes.
-       (start_busy_cursor, cancel_busy_cursor): Add prototypes.
-
-       * lisp.h (Fx_hide_busy_cursor): Remove prototype.
-
-       * xterm.c (XTread_socket): Remove busy-cursor code.
-
-       * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
-       (build_frame_matrix_from_leaf_window): Put code handling
-       glyph row's not being a slice of a frame row in #if 0.
-       (sync_window_with_frame_matrix_rows): New function.
-       (frame_row_to_window): New function.
-       (mirror_line_dance): Handle copies between windows.
-
-       * lread.c (Fload): Use `xfree' instead of `free'.
-       (init_obarray): Use `xmalloc' instead of `malloc'.
-
-       * window.c (Fset_window_buffer): Set WINDOW to the window
-       after decoding.
-       (coordinates_in_window): Take frame's internal border width
-       into account.
-
-2000-02-24  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (x_display_and_set_cursor): Display cursor of
-       non-selected windows depending on the setting of
-       cursor_in_non_selected_windows.
-
-       * xdisp.c (cursor_in_non_selected_windows): New variable.
-       (syms_of_xdisp): DEFVAR_BOOL it.
-
-2000-02-23  Gerd Moellmann  <gerd@gnu.org>
-
-       * data.c (Fstring_to_number): If number is greater than what
-       fits into an integer, return a float.
-
-       * eval.c (specbind): Remove references to
-       keyword_symbols_constant_flag.
-
-       * data.c (keyword_symbols_constant_flag): Removed.
-       (Fmakunbound, set_internal, syms_of_data): Remove references to
-       keyword_symbols_constant_flag.
-
-       * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
-
-2000-02-23  Kenichi Handa  <handa@etl.go.jp>
-
-       * syntax.c (multibyte_syntax_as_symbol): New variable.
-       (syms_of_syntax): Declare it as a Lisp variable.
-       (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
-       (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
-       nonzero, treat all multibyte characters as symbol.
-       (init_syntax_once): Give syntax `word' to all multibyte characters.
-
-2000-02-22  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * frame.c (Fdelete_frame): Don't let echo_area_window remain on
-       a deleted frame.
-
-2000-02-21  Gerd Moellmann  <gerd@gnu.org>
-
-       * frame.c (Fmouse_position): GCPRO retval instead of x and y.
-
-       * xfns.c (x_window_to_frame, x_any_window_to_frame)
-       (x_non_menubar_window_to_frame): Check the busy-cursor window.
-
-2000-02-21  Dave Love  <fx@gnu.org>
-
-       * frame.c (Vmouse_position_function): New variable.
-       (Fmouse_position): Use it.
-       (syms_of_frame): Install it.
-
-       * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
-
-2000-02-20  Gerd Moellmann  <gerd@gnu.org>
-
-       * fileio.c (Finsert_file_contents): Unbind the binding of
-       standard-output done by temp_output_buffer_setup.
-
-       * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
-       Vmocklisp_arguments is nil.  Inline Fcar and Fcdr.
-       (specbind, unbind_to): Handle most common case of non-constant
-       symbol with trivial value specially.
-
-       * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
-
-2000-02-20  Richard M. Stallman  <rms@gnu.org>
-
-       * data.c (Fmake_variable_buffer_local): Doc fix.
-       Init found_for_buffer to 0.
-       (Fmake_variable_frame_local): If the variable has already
-       been buffer-local, set the check_frame field.
-
-2000-02-20  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
-       produced for CODING_MODE_LAST_BLOCK requires.
-
-2000-02-18  Dave Love  <fx@gnu.org>
-
-       * keyboard.c (echo_keystrokes): Remove declaration.
-       (Vecho_keystrokes) New variable.
-       (read_char, record_menu_key, read_key_sequence): Use it to allow
-       use of float value.
-       (syms_of_keyboard): Change Vecho_keystrokes declaration.
-
-       * lread.c: Undef feature selection macros before defining.
-
-2000-02-18  Gerd Moellmann  <gerd@gnu.org>
-
-       * data.c (let_shadows_buffer_binding_p): Ignore specbindings
-       for symbols other than the symbol in question.
-
-2000-02-17  Dave Love  <fx@gnu.org>
-
-       * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
-
-2000-02-17  Gerd Moellmann  <gerd@gnu.org>
-
-       * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
-
-       * alloc.c (enum mem_type): Compile unconditionally.
-
-2000-02-17  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * xfaces.c (tty_defined_color): Don't return faulire indication
-       for unspecified-fg and unspecified-bg pseudo-colors.
-
-2000-02-17  Gerd Moellmann  <gerd@gnu.org>
-
-       * alloc.c (mark_object): Don't mark symbol names in pure space.
-       (gc_sweep): Don't unmark symbol names in pure space.
-
-       * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
-       (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
-       [GC_MARK_STACK]: New defines.
-       (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
-       [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
-
-       * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
-
-       * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
-       allocate_buffer instead of xmalloc.
-
-       * alloc.c (toplevel): Include setjmp.h.
-       (PURE_POINTER_P): New define.
-       (enum mem_type) [GC_MARK_STACK]: New enumeration.
-       (Vdead) [GC_MARK_STACK]: New variable.
-       (lisp_malloc): Add parameter TYPE, call mem_insert if
-       GC_MARK_STACK is defined.
-       (allocate_buffer): New function.
-       (lisp_free) [GC_MARK_STACK]: Call mem_delete.
-       (free_float) [GC_MARK_STACK]: Set type to Vdead.
-       (free_cons) [GC_MARK_STACK]: Set car to Vdead.
-       (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
-       (MEM_NIL) [GC_MARK_STACK]: New define.
-       (struct mem_node) [GC_MARK_STACK]: New structure.
-       (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
-       (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
-       (live_string_p, live_cons_p, live_symbol_p, live_float_p)
-       (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
-       (mark_stack) [GC_MARK_STACK]: New functions.
-       (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
-       (clear_marks): Removed.
-       (gc_sweep): Set free conses' car, free floats' type, free
-       symbols' function to Vdead.  Use lisp_free to free buffers.
-       (init_alloc_once): Initialize Vdead.
-       (survives_gc_p): Return non-zero for pure objects.
-
-       * alloc.c: Add comments throughout the file.
-
-       * atimer.c (stop_other_atimers): Don't call cancel_atimer because
-       that unblocks alarms.
-
-       * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
-       emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
-       Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
-
-       * frame.c (make_frame): Set frame initiallly to `garbaged'.
-
-2000-02-17  Kenichi Handa  <handa@etl.go.jp>
-
-       * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
-       avoid infinite error signaling.  Allocate sufficient memory for
-       eol_str in the case that eoltype is Lisp_Int.
-
-2000-02-17  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
-       depends on the previous behavior.
-
-2000-02-16  Gerd Moellmann  <gerd@gnu.org>
-
-       * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
-
-2000-02-15  Gerd Moellmann  <gerd@gnu.org>
-
-       * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
-
-       * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
-       Workaround for FreeBSD bug.  Clear output queue after EAGAIN in
-       write(2).
-
-2000-02-15  Richard M. Stallman  <rms@gnu.org>
-
-       * data.c (set_internal): Don't make variable buffer-local
-       if within a let-binding for the same buffer.
-       (let_shadows_buffer_binding_p): New function.
-
-       * eval.c (specbind): For buffer-local value,
-       record the current buffer also.
-       (unbind_to): Cope with that change.
-
-2000-02-15  Gerd Moellmann  <gerd@gnu.org>
-
-       * window.c (Fsave_window_excursion): Doc fix.
-
-2000-02-15  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * syntax.c (back_comment): Make sure we only consider comment-starters
-       of the relevant style and return -1 in case of a failure to find the
-       beginning of the comment.
-       (Fforward_comment): If back_comment fails, go back to the position just
-       after the comment-end.
-       (scan_lists): Add comment describing a very minor bug.
-
-2000-02-14  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
-       `completion-regexp-list' in the docstring.
-
-2000-02-14  Dave Love  <fx@gnu.org>
-
-       * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
-
-2000-02-14  Stefan Monnier  <monnier@cs.yale.edu>
-
-       * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
-       to Emacs' syntax.  Also fix the comment about set/not-set meanings
-       since Emacs syntax is not the value 0 any more.
-       * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
-       since it's now part of RE_SYNTAX_EMACS.
-
-2000-02-12  Dave Love  <fx@gnu.org>
-
-       * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
-
-2000-02-12  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
-
-2000-02-12  Dave Love  <fx@gnu.org>
-
-       * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
-
-       * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
-       * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
-       * s/hpux.h: Don't define HAVE_VFORK.
-
-       * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
-
-       * s/nextstep.h: Don't define HAVE_ALLOCA.
-
-       * config.in: Add vfork bits.
-
-2000-02-12  Gerd Moellmann  <gerd@gnu.org>
-
-       * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
-       unwind function to undo the effect of stopping atimers.
-
-       * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
-
-       * atimer.c (stopped_atimers): New variable.
-       (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
-       New functions.
-
-       * atimer.h (stop_other_atimers, run_all_atimers)
-       (unwind_stop_other_atimers): Add function prototypes.
-
-       * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
-
-2000-02-11  Ken Raeburn  <raeburn@gnu.org>
-
-       * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
-       library may depend on jpeg.
-       (atimer.o): Depends on atimer.c.
-
-2000-02-11  Kenichi Handa  <handa@etl.go.jp>
-
-       * insdel.c (del_range_1): Call update_compositions.
-       (del_range_both): Call update_compositions just once..
-
-2000-02-10  Dave Love  <fx@gnu.org>
-
-       * xfns.c (create_frame_xic): Fix initialization of automatic
-       aggregates for pcc.
-
-2000-02-09  Kenichi Handa  <handa@etl.go.jp>
-
-       * ccl.c (CCL_MAKE_CHAR): New macro.
-       (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
-       registers by CCL_MAKE_CHAR before calling translate_char.
-       <CCL_TranslateCharacterConstTbl> Likewise.
-
-2000-02-08  Dave Love  <fx@gnu.org>
-
-       * lread.c (__EXTENSIONS__): Define.
-
-2000-02-08  Gerd Moellmann  <gerd@gnu.org>
-
-       * puresize.h (BASE_PURESIZE): Increase to 650000.
-
-2000-02-07  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.c (XMenuActivate): Turn off the cursor after displaying
-       the help message.
-
-2000-02-07  Eli Zaretskii <eliz@is.elta.co.il>
-
-       * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
-       md, mh, mb, mr, and me to the fake termcap entry.
-
-2000-02-06  Ken Raeburn  <raeburn@gnu.org>
-
-       * sound.c (sound_cleanup): Don't call device close routine if the
-       function pointer is null.
-
-2000-02-06  Andrew Innes  <andrewi@gnu.org>
-
-       * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
-       around image definitions and prototypes.
-       (gamma_correct) [WINDOWSNT]: New prototype.
-
-       * w32term.c (x_make_frame_visible): Replace call to
-       input_poll_signal with poll_for_input.
-
-       * window.c [WINDOWSNT]: Include w32term.h.
-
-       * xdisp.c [WINDOWSNT]: Include w32term.h.
-
-       * makefile.nt: Add dependencies on w32gui.h.
-       (OBJ1): Include atimer.obj.
-       ($(BLD)\atimer.obj): New dependency rule.
-
-       * w32.c (sigmask): New function (does nothing).
-       (sigunblock): Ditto.
-
-       * frame.c [WINDOWSNT]: Include w32term.h.
-
-       * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
-
-       * lread.c (syms_of_lread): Fix literal newlines.
-
-       * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
-       the string constant limit (2048 bytes) in MSVC.
-       (main): Ditto.
-
-2000-02-05  INOUE Seiichiro <inoue@ainet.or.jp>
-
-       * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
-       (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
-       (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
-       dispatch the event.
-
-2000-02-04  Dave Love  <fx@gnu.org>
-
-       * fileio.c: Remove some unused vars.
-       (_GNU_SOURCE): Define (for euidaccess).
-
-       * lread.c (_XOPEN_SOURCE): Declare (for ftello).
-
-       * minibuf.c (read_minibuf_noninteractive): Remove undeclared
-       gcpro1, gcpro2.
-       (read_minibuf): Deal with allow_props correctly.
-
-2000-02-03  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
-
-2000-02-03  Ken Raeburn  <raeburn@gnu.org>
-
-       * search.c (compile_pattern): If a cache entry has a nil regexp,
-       fill in that entry instead of clobbering a previously cached
-       string regexp.
-
-2000-02-02  Ken Raeburn  <raeburn@gnu.org>
-
-       * puresize.h (BASE_PURESIZE): Increase to 610000.
-
-2000-02-02  Gerd Moellmann  <gerd@gnu.org>
-
-       * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
-       can GC.
-
-2000-02-02  Kenichi Handa  <handa@etl.go.jp>
-
-       * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
-       instead of incrementing ic directly.
-       <CCL_WriteExprConst> Likewise.
-       <ccl_set_expr>: Set ic to jump_address.
-
-       * fileio.c (e_write): Fix the handling of
-       CODING_FINISH_INSUFFICIENT_SRC.
-
-2000-02-01  Dave Love  <fx@gnu.org>
-
-       * editfns.c (Fpropertize): Doc fix.
-
-       * process.c (Fstart_process): Doc fix.
-
-       * eval.c: Fix various doc strings not to duplicate information
-       from help-manyarg-func-alist.
-
-       * window.c (Fset_window_margins): Don't make interactive.  Doc fix.
-
-       * doc.c (Vhelp_manyarg_func_alist): New variable.
-       (Fdocumentation): Use it.
-       (syms_of_doc): Define it.
-
-2000-01-31  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (xim_open_dpy): Remove unused local variable.
-
-       * emacs.c (USAGE): Use term `display options' instead of `X options'.
-
-       * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
-       (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
-
-       * fns.c (sweep_weak_table): New function.
-       (sweep_weak_hash_tables): Use it.  Keep on marking until there
-       is no more change.
-
-2000-01-30  Gerd Moellmann  <gerd@gnu.org>
-
-       * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
-       that XTread_socket does not crash by trying to call XNoOp on a
-       closed display.
-
-2000-01-30  Jason Rumney  <jasonr@gnu.org>
-
-       * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
-       Change selected_frame to SELECTED_FRAME ().
-       (w32_console_mouse_position): Remove #ifndef MULE from around
-       `insist' parameter.
-
-       * makefile.nt: Remove dosfns.obj.
-
-       * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
-
-       * w32fns.c (w32_defined_color): Check for valid frame before
-       applying gamma correction. Eliminate dependency on frame elsewhere.
-       (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
-       (w32_to_x_font): Use resx and resy not height_in and width_in.
-       (x_to_w32_font): Doc fix.
-       (xlfd_strip_height): New function to strip and return font height.
-       (w32_font_match): Compare height separately from rest of xlfd
-       spec, using xlfd_strip_height.
-
-       * w32term.c (w32_term_init): Swap resx and height_in, resy and
-       width_in. Use w32_defined_color in place of defined_color.
-
-       * w32faces.c: Merge more of DOS and X specifics in preparation for
-       merge with xfaces.c.
-       (defined_color): Remove FIXME comment.
-       (tty_color_name): Provide w32-specific function.
-       (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
-
-       * w32console.c (turn_on_face, turn_off_face): Removed.
-       (w32_face_attributes): New function.
-       (Global_variables): Reduce scope where possible.
-       (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
-       fill attribute.
-       (hl_mode): Don't modify text attributes.
-       (write_glyphs): Don't do anything if len <= 0. Use
-       w32_face_attributes to get attributes for drawing. Write
-       terminating codes using char_attr_normal.
-       (reset_terminal_modes, set_terminal_modes): Turn off highlight.
-       (update_begin, update_end): Likewise.
-       (vga_stdcolor_name): New function.
-       (initialize_w32_display): Remove char_attr_reverse and char_attr.
-       (Fset_screen_color): Remove char_attr_reverse.
-
-2000-01-29  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfns.c (xic_set_preeditarea): Take window parameter and
-       window-relative pixel-positions.
-
-       * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
-       is its frame's selected window.
-       (xim_instantiate_callback): Likewise.
-
-       * xfns.c (x_create_im): Removed.
-       (DEFAULT_STYLE, DEFAULT_FONT): Removed.
-       (supported_xim_styles): Renamed from supported_styles.
-       (best_xim_style): Renamed from best_style.
-       (create_frame_xic): Renamed from xic_create_frame.
-       (free_frame_xic): Renamed from xic_destroy_frame.
-
-2000-01-29  INOUE Seiichiro <inoue@ainet.or.jp>
-
-       * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
-       our frames, call XFilterEvent with 2nd parameter `None'.
-       (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
-       returning XBufferOverflow.
-       (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
-       (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
-       (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
-       (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
-       (xim_initialize, xim_close)
-       [HAVE_X_I18N && HAVE_X11R6]: New functions.
-       (x_destroy_window) [HAVE_X_I18N]:  Call xic_destroy_frame.
-       (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
-       (x_delete_display) [HAVE_X_I18N]: Call xim_close.
-
-       * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
-       and `xim_styles'.
-       (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
-       `xic_style' and `xic_xfs'.
-       (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
-       (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
-       (FRAME_XIM): Removed.
-
-       * xfns.c (supported_styles): New variable.
-       (DEFAULT_STYLE, DEFAULT_FONT): New macros
-       (xic_create_xfontset, best_style, xic_create_frame)
-       (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
-       (xic_set_xfontset): New functions.
-
-2000-01-28  Dave Love  <fx@gnu.org>
-
-       * s/irix6-5.h: Revert last change after change to irix5-0.h.
-
-       * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
-
-2000-01-28  Gerd Moellmann  <gerd@gnu.org>
-
-       * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
-       for *scratch* if it already existed.
-
-       * emacs.c (USAGE): New macro.
-       (main): Use it to display usage information.
-
-2000-01-27  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       Support for the menu-help feature:
-
-       * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
-
-       * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
-       part of the line to the termscript file.
-       (IT_clear_to_end): Clear the entire line, not just its beginning.
-       (menu_help_message, prev_menu_help_message): New variables.
-       (IT_menu_make_room): Make room for the help_text member.
-       (IT_menu_display): New argument disp_help; all callers changed.
-       If disp_help is non-zero, store the help text of the active menu
-       item in menu_help_message.
-       (XMenuAddPane): Initialize the help_text member to NULL.
-       (XMenuAddSelection): New argument help_text.  Store it in the
-       XMenu structure.
-       (XMenuActivate): New argument help_callback.  If the value of
-       menu_help_message has changed since the last time, display the
-       menu help message text while waiting for the mouse to move.  Clear
-       the echo area before exiting.
-       (XMenuDestroy): Free the help_text member.
-
-2000-01-27  Gerd Moellmann  <gerd@gnu.org>
-
-       * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
-       XMenuAddSelection.  Pass help callback to XMenuActivate.
-       (menu_help_callback) [!USE_X_TOOLKIT]: New function.
-
-2000-01-27  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
-       and EMACS_SET_USECS.
-
-2000-01-26  Dave Love  <fx@gnu.org>
-
-       * editfns.c (Fchar_after, Fchar_before): Doc fix.
-
-       * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
-       an error may be signalled.
-
-2000-01-26  Gerd Moellmann  <gerd@gnu.org>
-
-       * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
-       LD_SWITCH_SYSTEM inherited from irix5-0.h.
-
-       * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
-
-2000-01-25  Gerd Moellmann  <gerd@gnu.org>
-
-       * charset.c (Fstring): If there is a multibyte char among
-       the args, always return a multibyte string.
-
-2000-01-25  Gerd Moellmann  <gerd@gnu.org>
-
-       * sysdep.c (sys_select): Turn atimers off and on instead of
-       recording and restoring old alarm handler
-
-       * process.c (toplevel): Include atimer.h.
-       (create_process_1): Rewritten.
-       (create_process): Use atimers instead of alarm.
-       (wait_reading_process_input) [hpux]: Turn atimers off instead
-       of turning off SIGALRM.
-       (wait_reading_process_input): Turn off atimers instead off
-       calling stop_polling.
-
-       * emacs.c (main): Call init_atimer.
-
-       * keyboard.c (toplevel): Include systime.h and atimer.h.
-       (polling_for_input): Removed because unused.
-       (input_poll_signal) [POLL_FOR_INPUT]: Removed.
-       (poll_timer): New variable.
-       (poll_for_input, poll_for_input_1): New functions.
-       (start_polling, stop_polling): Rewritten.
-
-       * keyboard.h (polling_for_input): Removed.
-
-       * atimer.h, atimer.c: New files.
-
-       * Makefile.in (obj): Add atimer.o.
-       (atimer.o): New target.
-
-       * blockinput.h (pending_atimers): Add extern declaration.
-       (UNBLOCK_INPUT): Rewritten.  Handle pending atimers.
-
-       * lisp.h (popup_activated_flag): Add extern declaration.
-
-       * xmenu.c (popup_activated_flag): Make externally visible.
-       (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
-       (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
-
-       * xterm.c (toplevel): Include atimer.h.
-       (toolkit_scroll_bar_interaction): New variable.
-       (Fxt_process_timeouts): Removed.
-       (x_process_timeouts): New function.
-       (xt_action_hook): Clear toolkit_scroll_bar_interaction.
-       (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
-       (x_make_frame_visible): Call poll_for_input_1 instead of
-       input_poll_signal.  Don't call alarm.
-       (x_initialize): Install timer calling x_process_timeouts.
-
-2000-01-24  Dave Love  <fx@gnu.org>
-
-       * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
-       Don't use -cckr -- apparently not now necessary.
-
-2000-01-24  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * msdos.c (IT_menu_display): Truncate long menu lines at the right
-       screen boundary.
-
-2000-01-23  Jason Rumney  <jasonr@gnu.org>
-
-       * w32fns.c (w32_defined_color): Apply gamma correction before
-       trying to map to the palette.
-       (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
-       to w32_clear_rect.
-
-       * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
-       here. Callers changed to always pass real device context.
-       (w32_draw_bitmap): Likewise.
-       (w32_get_glyph_overhangs): Likewise.
-       (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
-       (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
-       pfnSetScrollInfo and SetScrollRange.
-       (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
-       back into MULE characters after decoding them.
-       (x_get_glyph_face_and_encoding): Likewise.
-       (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
-       GetCharABCWidthsW fails, since this is defined on Windows 9x.
-       (x_produce_glyphs): Calculate per char metrics for a character
-       that we know exists in default font when font_not_found_p is true.
-
-2000-01-22  Jason Rumney <jasonr@gnu.org>
-
-       * makefile.nt (intervals.obj, composite.obj): New modules.
-       (composite.h): Added as dependency where appropriate.
-
-       * w32gui.h (XGCValue): New struct for emulating X GCs.
-
-       * w32term.h (XCharStruct): New struct for emulating X.
-
-       * w32console.c (turn_on_face, turn_off_face): New functions.
-       (change_line_highlight): New prototype for new redisplay.
-       (write_glyphs): Support multibyte text. Support faces.
-
-       * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
-
-       * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
-       throughout. struct frame * in place of FRAME_PTR.
-       Skeleton support for images, toolbars, tooltips from xfns.c.
-       (Fx_create_frame): Use system default for default scroll bar width.
-       (w32_get_arg): Renamed from x_get_arg.
-       (Fx_file_dialog): New function.
-       (w32_list_fonts): Check cache before asking system.
-       (Vw32_enable_synthesized_fonts): New variable.
-       (Vw32_enable_italics): Obsolete, removed.
-
-       * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
-       Use SELECTED_FRAME macro.
-
-       * w32menu.c: Add skeleton support for help strings on menus.
-       (add_menu_item): Native checkbox and radio support added, but not
-       yet enabled due to bugs.
-       (push_menu_item): Add parameters type, selection and help.
-       Callers updated.
-       Formatting changes to reduce unnecessary diffs with xmenu.c.
-
-       * w32select.c (Fw32_set_clipboard_data): Update call to
-       find_charset_in_str.
-
-       * w32term.c: Complete rewrite for new redisplay based on new
-       xterm.c with necessary sections merged back in from old w32term.c.
-
-2000-01-21  Richard M. Stallman  <rms@gnu.org>
-
-       * data.c (set_internal): Further fix in same criterion.
-
-2000-01-20  Richard M. Stallman  <rms@gnu.org>
-
-       * data.c (set_internal): Fix the criteria for whether
-       to swap out the old cached binding.
-
-2000-01-19  Dave Love  <fx@gnu.org>
-
-       * lread.c: (syms_of_lread) [user-init-file]: Doc change.
-
-2000-01-18  Kenichi Handa  <handa@etl.go.jp>
-
-       * regex.c (re_compile_fastmap): While checking a range table for
-       `charset', skip flag bits for a character class correctly.
-
-2000-01-17  Gerd Moellmann  <gerd@gnu.org>
-
-       * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
-
-       * xfns.c (x_window): Call lw_create_widget with new parameter list.
-
-       * widget.c (EmacsFrameSetCharSize): Change size of children first
-       because of problems with main window geometry management under Lesstif.
-
-       * xmenu.c (enum menu_item_idx): New enumeration replacing defines
-       MENU_ITEMS_ITEM_.*.
-       (MENU_ITEMS_ITEM_HELP): New enumerator.
-       (push_menu_item): Add parameter HELP.  Record help in menu_items.
-       (single_menu_item, single_submenu, list_of_items): Call
-       push_menu_item with new parameter.
-       (single_submenu): Set help string in widget value.
-       (menu_highlight_callback): New function.
-       (set_frame_menubar): Call lw_create_widget with new
-       parameter list.
-       (xmenu_show, xdialog_show): Ditto.
-
-2000-01-13  Gerd Moellmann  <gerd@gnu.org>
-
-       * sound.c (Fplay_sound): Improve doc string.
-
-2000-01-11  Richard M. Stallman  <rms@gnu.org>
-
-       * lisp.h (set_internal): Enter the new arg.
-
-       * eval.c (specbind): Record buffer-local variables specially,
-       indicating which buffer's binding was saved.
-       (unbind_to): Restore buffer-local variables specially
-       in the proper buffer.
-
-       * data.c (set_internal): New arg BUF.
-
-       * eval.c (specbind, unbind_to): Pass new arg to set_internal.
-       * data.c (Fset): Pass new arg to set_internal.
-       * bytecode.c (Fbyte_code): Pass new arg to set_internal.
-
-2000-01-11  Gerd Moellmann  <gerd@gnu.org>
-
-       * .gdbinit: Adapt to new strings.  Add xbacktrace, xreload, xprintsym.
-
-2000-01-11  Richard M. Stallman  <rms@gnu.org>
-
-       * minibuf.c (Ftry_completion): Doc fix.
-
-2000-01-11  Gerd Moellmann  <gerd@gnu.org>
-
-       * keyboard.c (Fclear_this_command_keys): Clear recent_keys
-       vector, too.
-
-2000-01-11  Andreas Schwab  <schwab@suse.de>
-
-       * coding.c (code_convert_region): Initialize total_skip.
-
-2000-01-08  Dave Love  <fx@gnu.org>
-
-       * eval.c (Fuser_variable_p): Check customizability too.
-
-2000-01-07  Gerd Moellmann  <gerd@gnu.org>
-
-       * minibuf.c (Fcompleting_read): Doc fix.
-
-2000-01-05  Gerd Moellmann  <gerd@gnu.org>
-
-       * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
-       -L /usr/local/lib.
-
-       * xfns.c (x_create_im): New function to set IM and IC of a frame.
-       Check that input style is supported before trying to create an
-       IC for it.
-       (x_window): Call x_create_im.
-
-2000-01-04  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfns.c (current_gif_memory_src): New variable.
-       (gif_load): Record the address of the current memory source
-       in current_gif_memory_src.
-       (gif_read_from_memory): Use current_gif_memory_src.
-
-       * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
-       macros statement form.
-
-       * sound.c (struct sound): Renamed from struct sound_file.
-       (struct sound): Add members `data' and `header_size'.
-       (enum sound_attr): Add SOUND_DATA.
-       (current_sound, current_sound_device): Variables renamed from
-       sound_file and sound_device.
-       (parse_sound): Parse :data.
-       (parse_sound): Handle sound data in strings.
-       (find_sound_type): Function renamed from find_sound_file_type.
-       (wav_init, au_init): Fail if sound's header_size is smaller than
-       needed header size.
-       (wav_play, au_play): Play sounds from string data.
-
-       * puresize.h (BASE_PURE_SIZE): Increase to 600000.
-
-       * lisp.h: Add prototype for allocate_string_data.
-
-       * alloc.c (Fgarbage_collect): Return number of live and free strings.
-
-       * alloc.c (mark_buffer): Remove code in #if 0.
-       (gc_sweep): Ditto.
-       (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
-       (strings_consed): New variable.
-       (allocate_string): Set it.
-       (syms_of_alloc): Add DEFVAR_INT for strings_consed.
-       (Fmemory_use_counts): Return strings_consed.  Use Flist.
-
-       * alloc.c: General cleanup in comments etc.  Remove conditional
-       compilation for `standalone'.
-
-       * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
-
-       * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
-       (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
-       (DONT_COPY_FLAG): Removed.
-       (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
-       (struct sdata, struct sblock): New
-       (struct string_block): Rewritten.
-       (STRINGS_IN_STRING_BLOCK): New macro.
-       (oldest_sblock, current_sblock, total_strings, total_free_strings)
-       (large_sblocks, string_blocks, string_free_list): New variables.
-       (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
-       (init_strings): Rewritten.
-       (allocate_string, allocate_string_data, compact_small_strings)
-       (free_large_strings, sweep_strings): New functions.
-       (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
-       (struct string_block_head, current_string_block)
-       (first_string_block, large_string_blocks, STRING_FULLSIZE)
-       (STRING_PAD): Removed.
-       (make_uninit_multibyte_string, make_pure_string): Rewritten.
-       (Fgarbage_collect): Don't set mark bit in large strings.
-       (mark_object): Mark strings differently.  Mark symbol names
-       differently.
-       (survives_gc_p): Test marked strings differently.
-       (gc_sweep): Sweep strings differently, unmark strings in
-       symbol names.
-       (compact_strings): Removed.
-
-2000-01-04  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
-       Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
-
-2000-01-04  Kenichi Handa  <handa@etl.go.jp>
-
-       * fileio.c (Finsert_file_contents): Signal error if visiting file
-       in a non-empty buffer.
-
-       * term.c (encode_terminal_code): Fix the previous change.
-
-2000-01-03  Gerd Moellmann  <gerd@gnu.org>
-
-       * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
-       Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
-
-       * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
-
-2000-01-03  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
-       need to test for MSDOS frames.
-
-2000-01-03  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * dosfns.c (unspecified_colors): Remove.
-       (msdos_stdcolor_idx): Use global variables unspecified_fg and
-       unspecified_bg.
-       (msdos_stdcolor_name): Return strings for unspecified fore- and
-       back-ground colors.
-
-       * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
-       (syms_of_xfaces): Remove their staticpro's.
-       (tty_color_name): Return Lisp strings for unspecified fore- and
-       back-ground colors.
-       (Finternal_set_lisp_face_attribute): Remove the special treatment
-       for Qunspecified_{f,b}g.
-       (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
-
-2000-01-03  Gerd Moellmann  <gerd@gnu.org>
-
-       * xdisp.c (reseat_at_next_visible_line_start): Position before
-       newline only if ending up on a newline.
-       (next_element_from_ellipsis): Return success.  Handle case of
-       displaying no ellipsis.  Fix case of ellipsis defined in display table.
-       (next_element_from_buffer): Return 0 if next_element_from_ellipsis
-       returns 0.
-
-2000-01-03  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
-       (Fcolor_supported_p): Renamed from face-color-supported-p.
-
-2000-01-02  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * xfaces.c (tty_defined_color): Pass frame to tty-color-desc.  The
-       list of colors renamed to tty-defined-color-alist.
-       (tty_color_name): Pass the frame to tty-color-by-index.
-       (realize_tty_face): tty-color-alist is now a function which
-       accepts the frame as argument.
-
-       * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
-
-2000-01-02  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * term.c (insert_glyphs): Pass glyph, not &glyph, to
-       encode_terminal_code.
-
-2000-01-02  Eli Zaretskii  <eliz@is.elta.co.il>
-
-       * dispnew.c (mode_line_string): Support termcap frames as well.
-
-2000-01-01  Gerd Moellmann  <gerd@gnu.org>
-
-       * syntax.c (Fforward_word): Undo previous change.
-
-       * editfns.c (Fconstrain_to_field): Don't constrain if
-       inhibit-field-text-motion is non-nil.
-       (Fline_beginning_position): Undo previous change.
-       (Fline_end_position): Ditto.
-
-       * syntax.c (Fforward_word): Notice field boundaries only if
-       inhibit-field-text-motion is nil.
-
-       * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
-
-       * editfns.c (Vinhibit_field_text_motion): New variable.
-       (inhibit-field-text-motion): New DEFVAR_LISP.
-       (Fline_beginning_position, Fline_end_position): Notice field
-       boundaries only if inhibit-field-text-motion is nil.
-
-       * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
-       All calls adjusted.
-       (x_build_heuristic_mask): Likewise.
-       (xbm_load_image_from_file): Change error output.
-       (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
-       (gif_load, gs_load, x_kill_gs_process): Ditto.
-
-       * xfns.c (gif_load): Avoid sign extension and thus out of bounds
-       color indices when accessing raster pixels.
-       (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
-       one of :file or :data.
-       (enum pbm_keyword_index): Add PBM_DATA.
-       (pbm_format): Add :data.
-       (pbm_image_p): Allow either :file or :data.
-       (pbm_read_file): New function.
-       (pbm_scan_number): Rewritten to read from string.
-       (pbm_load): Support :data.
-
-See ChangeLog.8 for earlier changes.
+See ChangeLog.9 for earlier changes.
 
 ;; Local Variables:
 ;; coding: iso-2022-7bit
 ;; End:
 
-    Copyright (C) 2001 Free Software Foundation, Inc.
+    Copyright (C) 2001, 2002 Free Software Foundation, Inc.
   Copying and distribution of this file, with or without modification,
   are permitted provided the copyright notice and this notice are preserved.
diff --git a/src/ChangeLog.9 b/src/ChangeLog.9
new file mode 100644 (file)
index 0000000..1c7a87b
--- /dev/null
@@ -0,0 +1,13299 @@
+2001-10-20  Gerd Moellmann  <gerd@gnu.org>
+
+       * (Version 21.1 released.)
+
+2001-10-20  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
+
+       * 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.
+
+2001-10-15  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
+
+       * 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).
+
+2001-10-15  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
+
+       * 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.
+
+2001-10-15  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
+
+       * 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.
+
+2001-10-15  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
+
+       * 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.
+
+2001-10-14  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
+
+       * lisp.h (Ftop_level): Add prototype.
+
+       * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
+       (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\".
+
+2001-10-12  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
+
+       * 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>.
+
+2001-10-08  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
+
+       * 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.
+
+2001-10-08  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
+
+       * 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.
+       Requested by Francois Pinard.  XEmacs has it.  Added to NEWS.
+
+       * 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.
+
+       * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
+       (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)
+       (Fprevious_char_property_change): Remove reference to non-existant
+       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.
+
+2001-09-28  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
+
+       * 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
+       get-char-property to obtain the help-echo from the string's buffer
+       (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.
+
+2001-08-06  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
+
+       * 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.
+
+       * lisp.h (XVECTOR): Verify correct object type before returning a
+       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.
+
+       * term.c: (tty_cursor_hidden): New variable.
+       (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.
+
+2001-03-28  Paul Eggert <eggert@twinsun.com>
+
+       * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
+       microseconds calcuation.  Avoid double-rounding problem.
+       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.
+
+       * xdisp.c  Use make_number, for readability.
+       (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.
+
+       * emacs.c (malloc_initialize_hook): Handle case thet `environ'
+       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.
+       (x_display_and_set_cursor): Check for the focus frame's selected
+       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.
+       (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
+       (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,
+       return FONTANME.  New argument FORCE if nonzero cancel that feature.
+       (fontset_font_pattern): Call font_family_registry with FORCE 1 for
+       a signle byte character.  Don't set FAMILY part to nil here.
+       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>
+
+       * ccl.h (sturct ccl_program): New member suppress_error.
+
+       * 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.
+       (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
+       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>
+
+       * keyboard.c (Fread_key_sequence_vector):  Avoid newline in
+       arglist, for documentation's sake.
+
+2001-01-06  Andrew Innes  <andrewi@gnu.org>
+
+       * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
+       of *.pdb.
+
+2001-01-05  Andrew Innes  <andrewi@gnu.org>
+
+       * term.c (update_end): Don't check updating_frame; for some reason
+       this can be 0 sometimes, such as after dismissing a popup menu,
+       and isn't necessary given the explicit frame argument.
+
+2001-01-05  Gerd Moellmann  <gerd@gnu.org>
+
+       * sysdep.c: Don't prototype srandom; it takes an unsigned argument
+        on some systems, and an unsigned long on others, like FreeBSD 4.1.
+
+2001-01-04  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
+
+       * xfns.c (x_create_tip_frame): Preserve the value of
+       face_change_count around the creation of the tip frame.
+
+       * xfns.c (last_show_tip_args): New variable.
+       (compute_tip_xy): New function.
+       (Fx_show_tip): Reuse an existing tip frame, if possible.
+       (syms_of_xfns): Initialize and staticpro last_show_tip_args.
+
+2001-01-04  Dave Love  <fx@gnu.org>
+
+       * editfns.c (Fformat): Doc fix.
+
+       * systime.h (set_file_times): Prototype.
+
+       * widget.h (EmacsFrameSetCharSize_): Prototype.
+
+       * sysdep.c (random, srandom): Declare explicitly.
+
+       * dispextern.h (move_it_vertically_backward): Declare.
+
+2001-01-04  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
+       like in Fx_create_frame.
+
+       * xfaces.c (set_font_frame_param): Don't do anything for
+       non-graphical frames.
+
+       * window.c (Fdelete_other_windows): Set window's window_end_valid
+       to nil when changing the window's start.  Don't change the
+       window's start when its top position hasn't changed.  If we do,
+       this will set the window's optional_new_start, which act's like a
+       force_start during redisplay with C-x 1 M-> under particular
+       circumstances (see report from Per Starback to emacs-pretest-bug
+       from 2000-12-13.).
+
+2001-01-03  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
+       short cut at the start of the function.  Add an assertion.
+       (reseat_at_next_visible_line_start): Add an assertion.
+
+       * window.c (Frecenter): When changing the window start, set the
+       window's window_end_valid to nil.
+       (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
+
+       * dispextern.h (move_it_past_eol): Add prototype.
+
+       * xdisp.c (move_it_past_eol): New function.
+
+       * window.c (Fwindow_end): Doc fix.
+
+2001-01-03  Dave Love  <fx@gnu.org>
+
+       * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
+
+2001-01-03  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
+       the enabled_p flag of the glyph row at window_end_vpos to 0.
+       (handle_single_display_prop): Fix last change.
+
+2001-01-02  Richard M. Stallman  <rms@caffeine.ai.mit.edu>
+
+       * window.c (Frecenter): Doc fix.
+
+2001-01-02  Andrew Innes  <andrewi@gnu.org>
+
+       * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
+
+       * frame.h (output_method): Add output_w32_console method.
+       (FRAME_W32_CONSOLE_P): New macro.
+
+       * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
+       use output_w32_console method.
+       (Qw32_console): New Lisp_Object.
+       (Fframep): Return it.
+       (syms_of_frame): Init it.
+       (Fframe_parameters): Report w32console as font for w32_console frames.
+
+       * xfaces.c (realize_default_face): Set face foreground and
+       background to unspecified for w32_console frames.
+       (realize_face): Realize face cache for w32_console frames.
+       (realize_tty_face): Accept w32_console frames.
+
+       * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
+       (init_iterator) [WINDOWSNT]: Initialize frame face cache if
+       necessary, even if running interactively.
+
+       * dispnew.c (Fredraw_frame): Call set_terminal_modes for
+       w32_console frames.
+
+       * w32term.c (x_update_begin):
+       (x_update_end):
+       (x_clear_frame):
+       (x_ins_del_lines):
+       (x_change_line_highlight):
+       (x_delete_glyphs):
+       (w32_ring_bell):
+       (x_update_begin):
+       (x_update_end):
+       (w32_reassert_line_highlight):
+       (w32_frame_rehighlight):
+       (w32_frame_raise_lower): Do nothing if not w32 frame.
+
+       * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
+
+       * w32fns.c (Fx_display_color_cells): Determine correct value, when
+       system doesn't tell us directly.
+       (Fx_display_visual_class): Implement properly.
+
+2001-01-02  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (Frecenter): Handle centering in graphical frames
+       specially.  Centering on the basis of line counts doesn't work
+       reliably with variable-height lines.
+
+2001-01-02  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
+       and al[].
+
+       * composite.c (run_composition_function): Remove unused var `val'.
+       (update_compositions): Remove unused variable `hook'.
+
+       * intervals.c (get_local_map): Remove unused variable `tem'.
+
+       * doprnt.c (doprnt1): Remove unused variable `size'.
+
+       * fns.c (Flength): Remove unused variable `tail'.
+       (Fdelete): Remove unused variable `size'.
+
+       * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
+       and `gcpro2'.
+
+       * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
+
+       * data.c (find_symbol_value): Remove extra 3rd argument in the
+       call to swap_in_symval_forwarding.
+
+       * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
+
+       * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
+       (trivial_regexp_p): Remove unused variable `c'.
+       (boyer_moore): Remove unused variable `k'.
+
+       * indent.c (current_column): Remove unused variable `stopchar'.
+       (Fcompute_motion): Remove unused variable `contin'.
+
+       * casefiddle.c (casify_object): Remove unused variable `tolen'.
+
+       * dired.c (directory_files_internal): Fix a typo in a comment.
+       Remove an unused variable `handler'.
+       (file_name_completion): Remove unused function-scope variable `dp'.
+       (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
+       on BSD4_2.
+
+       * fileio.c (e_write): Remove unused variable `require_encoding_p'.
+
+       * marker.c (Fmarker_position): Remove unused variables `pos', `i',
+       and `buf'.
+       (Fmarker_insertion_type): Remove unused variable `buf'.
+
+       * insdel.c (make_gap): Remove unused variable `result'.
+
+       * keyboard.c (record_char): Remove unused function-scope var `help'.
+       (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
+       (menu_bar_items): Remove unused function-scope variable `tem'.
+
+       * fontset.c (fontset_ref): Remove unused variable `i'.
+       (fontset_set): Remove unused variables `j' and `tmp'.
+       (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
+       (make_fontset_for_ascii_face): Remove unused variable `name'.
+       (fs_load_font): Remove unused variable `font_idx'.
+       (fs_query_fontset): Remove unused function-local variable `fontset'.
+       (list_fontsets): Remove unused variable `tail'.
+       (Fnew_fontset): Remove unused variables `family' and `registry'.
+       (accumulate_font_info): Remove unused variable `tmp'.
+       (Ffontset_font): Remove unused variable `id'.
+       (syms_of_fontset): Remove unused variable `i'.
+
+       * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
+       to x_term_init.
+       (lookup_image): Remove unused variable `file'.
+       (xbm_load): Remove unused variables `bitmap_data', `height', and
+       `width'.  Remove function-local variable `i', leave the
+       block-local one.
+       (gif_load): Remove unused variable `inc'.
+
+       * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
+       (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
+       leave only the one in the inner block.
+
+       * xfaces.c (face_fontset, realize_default_face): Remove unused
+       variable `fontset'.
+       (face_at_buffer_position): Remove unused variable `multibyte_p'.
+
+       * term.c (encode_terminal_code): Remove unused variable `c'.
+
+       * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
+       char *' instead of `char *'.
+
+       * category.c (Fcategory_docstring): Remove unused variable `doc'.
+       (Fget_unused_category): Remove unused variable `docstring_vector'.
+       (Fchar_category_set): Remove unused variables `val', `charset',
+       `c1' and `c2'.
+
+       * coding.c (detect_coding_iso2022, setup_coding_system):
+       Remove unused variable `i'.
+       (detect_coding_mask): Remove unused variable `idx'.
+       (detect_coding): Remove unused variable `i'.
+       (ccl_coding_driver): Remove unused variable `result'.
+       (run_pre_post_conversion_on_str): Remove unused variable `prev'.
+       (decode_coding_string): Remove unused variables `to' and `gcpro1'.
+       (encode_coding_string): Remove unused variables `gcpro1' and
+       `saved_coding_symbol'.
+       (Ffind_coding_systems_region_internal): Remove function-local
+       variable args[], leave only the block-local one.
+       (code_convert_region1): Remove unused variable `len'.
+
+       * charset.c (char_printable_p): Remove unused variable `chars'.
+       (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
+       (str_to_multibyte): Remove unused variable `c'.
+
+       * window.c (size_window): Remove block-local variable `min_size'.
+
+       * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
+       `header_line_height'.
+       (append_space, extend_face_to_end_of_line): Declare `saved_what'
+       enum display_element_type.
+
+2001-01-02  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_connection_closed): Catch X errors around all
+       statements that call X.  Save away the error message in a local copy.
+
+       * xterm.c (x_connection_closed): Set handling_signal to 0 at
+       the start.
+
+       * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
+       in or at the start of invisible text.
+
+       * dispnew.c (update_window): Don't check_current_matrix_flags.
+
+2001-01-01  Jason Rumney  <jasonr@gnu.org>
+
+       * w32fns.c (x_figure_window_size): Do not allow new_height and
+       new_width of frame to override specified values.
+
+2000-12-30  Kenichi Handa  <handa@etl.go.jp>
+
+       * composite.c (find_composition): Fix a code for searching backward.
+
+2000-12-29  Gerd Moellmann  <gerd@gnu.org>
+
+       * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
+       (update_window) [GLYPH_DEBUG]: Call it.
+       (scrolling_window): Prevent including current rows which are below
+       what's displayed in the window.
+
+       * xdisp.c (try_window_reusing_current_matrix)
+       <new start <= old start>:  Disable rows in the current matrix
+       which are below the window after scrolling.
+
+       * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
+       is zero.  It's not worth the complexity.
+       (invisible_text_between_p): Put in #if 0 because unused.
+
+2000-12-28  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (Fx_backspace_delete_keys_p): Check library and server
+       XKB versions.  Call XkbFreeKeyboard with 2nd arg 0.
+
+       * keyboard.c (echo_char): If C is an integer, always call
+       push_key_description.  Former code could signal an invalid
+       character error.
+
+       * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
+       If set, print multibyte text.
+       (Fsingle_key_description): Call push_key_description with
+       FORCE_MULTIBYTE set.
+       (describe_buffer_bindings): Likewise.
+
+       * lisp.h (push_key_description): Add prototype.
+
+       * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
+       around the call to redisplay_internal.
+
+       * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
+
+       * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
+
+2000-12-28  Kenichi Handa  <handa@etl.go.jp>
+
+       * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
+       (ccl_driver): New local variable `extra_bytes'.
+
+       * ccl.h (struct ccl_spec): New member eight_bit_carryover.
+
+       * coding.c (setup_coding_system):
+       Initialize coding->spec.ccl.eight_bit_carryover.
+       (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
+
+2000-12-28  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (SAFE_ONE_MORE_BYTE): New macro.
+       (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
+       (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
+       (decode_composition_emacs_mule): New function.
+       (decode_coding_emacs_mule): Decode composition sequence by calling
+       decode_composition_emacs_mule.
+       (ENCODE_COMPOSITION_EMACS_MULE): New macro.
+       (encode_coding_emacs_mule): Changed from macro to function.
+       If a text contains compositions, encode them correctly.
+       (setup_coding_system): Set coding->commong_flags for emacs-mule so
+       that decoding and encoding are required.
+
+2000-12-27  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (PT_PER_INCH): New macro.
+       (xlfd_point_size): Compute real point size from font's pixel size.
+       (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
+       instead of 72.
+
+       * .gdbinit: Comment out the line pointing to the Lesstif source
+       directory.
+
+       * window.c (Frecenter): Use displayed_window_lines instead
+       of window_internal_height.
+
+       * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
+       instead of x-toolkit-scroll-bars-p.
+       (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
+
+       * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
+       instead of x-toolkit-scroll-bars-p.
+       (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
+
+       * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
+       (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
+       (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
+       New variables.
+       (add_window_display_history, add_frame_display_history)
+       (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
+       (build_frame_matrix_from_leaf_window): Remove unused code.
+       (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
+       redisplay history.
+       (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
+       (update_window) [GLYPH_DEBUG]: Likewise.
+       (syms_of_display): Defsubr dump-redisplay-history.
+
+2000-12-23  Gerd Moellmann  <gerd@gnu.org>
+
+       * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
+       the end of the prompt.  Set echo_after_prompt to the offset
+       of echoptr in echobuf.
+
+       * xdisp.c (init_from_display_pos): Pop until the iterator's
+       stack is empty; there may be frames for stretch or images
+       on the stack.
+
+       * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
+       (save_or_restore_current_matrix): New function for the same
+       purpose, but more efficient.
+       (adjust_frame_glyphs_for_frame_redisplay): Use it.
+
+2000-12-23  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * xdisp.c (syms_of_xdisp): Fix last change.
+
+2000-12-23  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (syms_of_xdisp): Doc fix.
+
+       * xdisp.c (redisplay_window): Remove label restore_buffers;
+       use finish_scroll_bars instead to make sure that scroll bars
+       are redeemed.  If we don't do this, flickering can result from
+       scroll bars being destroyed and recreated.
+
+2000-12-22  Jason Rumney  <jasonr@gnu.org>
+
+       * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
+       in the wrong colors when the foreground is not black.
+       (expose_window): Don't redraw the window that's currently being
+       updated.
+
+2000-12-22  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (size_window): When setting the window's too_small_ok
+       flag, compare old size with minimum size depending on WIDTH_P,
+       don't compare with window_min_width.
+
+       * window.c (delete_window): Simplify somewhat.
+       (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
+       freeing window matrices.  The flag windows_or_buffers_changed is
+       set, so the next redisplay will consider all windows; this should
+       suffice.
+
+2000-12-22  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
+
+       * ccl.h (struct ccl_program): New member cr_consumed.
+
+       * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
+       (CCL_READ_CHAR): Handle EOL conversion here.
+       (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
+
+2000-12-21  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
+
+       * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
+       otherwise tabs of different size compare equal.
+
+       * callint.c (Fcall_interactively): Prevent a compiler warning.
+
+       * print.c (print_unwind): Return nil.
+       (PRINTDECLARE): Initialize all local variables.
+       (print_preprocess): Add a default case.
+
+       * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
+
+       * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
+
+       * window.c (delete_window, Fsplit_window)
+       (Fset_window_configuration): Calls to ensure_frame_matrix removed.
+
+       * dispextern.h (ensure_frame_matrix): Function declaration removed.
+
+       * dispnew.c (ensure_frame_matrix): Removed.
+       (save_frame_matrix, restore_frame_matrix): New functions.
+       (adjust_frame_glyphs_for_frame_redisplay): Use them.
+
+       * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
+       [GLYPH_DEBUG]: Extended to dump glyphs in short form.
+
+2000-12-21  Andrew Innes  <andrewi@gnu.org>
+
+       * w32term.c (x_update_begin): Regenerate the palette here, rather
+       than for each window.
+
+       * w32xfns.c (select_palette): Avoid calling SelectPalette if
+       palette is NULL, since this corrupts memory!  Also get
+       display_info reference from frame.
+
+2000-12-21  Jason Rumney  <jasonr@gnu.org>
+
+       * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
+
+       * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
+       to avoid returning without releasing it.
+
+2000-12-21  Kenichi Handa  <handa@etl.go.jp>
+
+       * keymap.c (push_key_description): Don't convert eight-bit-control
+       and eight-bit-graphic to multibyte character.
+
+       * charset.c (Fmake_char_internal): If CHARSET doesn't have a
+       generic character and CODE1 is nil, return the smallest character
+       in CHARSET.
+
+2000-12-20  Dave Love  <fx@gnu.org>
+
+       * s/osf5-0.h (NSIG): Don't redefine.
+
+2000-12-20  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * keymap.c (where_is_internal): Check ascii_sequence_p rather than
+       excluding menu-bar and tool-bar.
+       (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
+       (menu_item_p): Remove.
+       (where_is_internal_1): Don't ignore menu-items.
+
+2000-12-20  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (hscroll_window_tree): Take window's min_hscroll
+       into account.
+
+       * window.c (make_window): Initialize window's min_hscroll.
+       (Fset_window_hscroll): Set window's hscroll and min_hscroll.
+       (set_window_buffer, temp_output_buffer_show): Set min_hscroll
+       to zero.
+       (struct saved_window): New member min_hscroll.
+       (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
+       (Fset_window_configuration): Set window's min_hscroll.
+       (save_window_save): Save window's min_hscroll.
+       (compare_window_configurations): Compare min_hscroll values.
+
+       * window.h (struct window): New member min_hscroll.
+
+       * keyboard.c (echo_prompt): Prevent a compiler warning.
+
+       * xdisp.c (try_cursor_movement): Fix last change.  The real
+       condition is that PT is at the end of the row, and should
+       be displayed at the start of the next row.
+
+       * xdisp.c (try_cursor_movement): If we end on a partially
+       visible line, end we already decided to scroll, return -1.
+
+       * dispextern.h (ensure_frame_matrix): Add prototype.
+
+       * window.c (delete_window, Fsplit_window)
+       (Fset_window_configuration): Call ensure_frame_matrix.
+
+       * dispnew.c (fake_current_matrices, ensure_frame_matrix):
+       New functions.
+       (adjust_frame_glyphs_for_frame_redisplay): If display has been
+       completed, call fake_current_matrices instead of marking frame
+       garbaged.
+
+2000-12-20  Jason Rumney  <jasonr@gnu.org>
+
+       * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
+
+2000-12-19  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * fns.c (Frequire): Doc fix.
+
+2000-12-19  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
+
+       * dispnew.c (direct_output_for_insert): Fix check for mini-window
+       currently displaying a message.
+
+       * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
+       xterm.h.
+       (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
+
+2000-12-18  Andrew Innes  <andrewi@gnu.org>
+
+       * w32.c (w32_strerror): New function.
+
+       * w32.h (w32_strerror): New extern.
+
+       * w32fns.c (Fw32_shell_execute): Use it.
+
+2000-12-18  Gerd Moellmann  <gerd@gnu.org>
+
+       * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
+
+2000-12-18  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (IT_set_face): Obey inverse_video.
+
+2000-12-18  Kenichi Handa  <handa@etl.go.jp>
+
+       * dired.c (directory_files_internal): Always return decoded filenames.
+
+2000-12-18  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_connection_closed): Prevent being called recursively
+       because of an error condition in XtCloseDisplay.
+
+       * xdisp.c (init_iterator): If noninteractive, and the frame's
+       face cache is null, make one.
+
+       * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
+
+       * process.c (wait_reading_process_input): Check for pending
+       input when running timers.
+
+2000-12-18  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
+
+2000-12-18  Kenichi Handa  <handa@etl.go.jp>
+
+       * process.c (read_process_output): Don't run a filter if the code
+       decoder produces nothing but carryover.
+
+2000-12-17  Andrew Innes  <andrewi@gnu.org>
+
+       * w32.c (sys_rename): Only check errno against EEXIST, and not
+       EACCES, when determining whether rename failed because the target
+       exists.  This was resulting in indefinite looping on Windows 9x if
+       the source file was locked by another process.
+
+       * w32fns.c (Ffile_system_info): New function.
+       (syms_of_w32fns): Defsubr it.
+
+2000-12-17  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (coordinates_in_window): Fix computation for
+       position on vertical line between mode lines.
+
+       * xfns.c (unwind_create_frame): Return t if frame was deleted.
+       Don't alter tip_frame or tip_window.
+       (unwind_create_tip_frame): Set tip_frame to nil only if frame
+       was deleted.
+
+       * w32fns.c (unwind_create_frame): Return t if frame was deleted.
+       Don't alter tip_frame or tip_window.
+       (unwind_create_tip_frame): Set tip_frame to nil only if frame
+       was deleted.
+
+2000-12-16  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
+       be consistent with the doc string.  Reported by NAKAJIMA Mikio
+       <minakaji@osaka.email.ne.jp>.
+
+2000-12-16  Kenichi Handa  <handa@etl.go.jp>
+
+       * xfaces.c (Vface_ignored_fonts): New variable.
+       (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
+       (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
+
+2000-12-15  Gerd Moellmann  <gerd@gnu.org>
+
+       * dispnew.c (update_window): Detect pending input every nth line
+       updated, i.e. do it depending on real work done, and not on the
+       vpos of the line.
+
+       * xterm.c (expose_window): Don't redraw the window that's
+       currently being updated.
+
+       * window.c (Fset_window_point): Remove test for
+       cursor_in_non_selected_windows.
+
+       * lread.c (read1): Recognize end of file after `\\'.
+
+       * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
+       not unwind_create_frame.
+
+2000-12-15  Dave Love  <fx@gnu.org>
+
+       * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
+       bcopy & al.
+
+       * s/irix6-5.h: #undef bcopy & al here.  Include strings.h.
+
+2000-12-15  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (setup_coding_system): Clear all members of the struct
+       coding_system at first.
+       (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
+       argument.
+       (code_convert_region): Don't override coding->src_multibyte and
+       coding->dst_multibyte.
+
+       * fns.c (Fmd5): Docstring improved.
+
+2000-12-15  Miles Bader  <miles@gnu.org>
+
+       * xdisp.c (window_box_height): Only use mode-line glyph-rows that
+       are actually marked as mode-lines; otherwise use
+       estimate_mode_line_height.
+
+2000-12-14  Gerd Moellmann  <gerd@gnu.org>
+
+       * editfns.c (Fformat): Prevent a buffer overrun when the format
+       specifies a precision.
+
+2000-12-14  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
+       argument is outside the range [2..3].
+
+2000-12-14  Andrew Innes  <andrewi@gnu.org>
+
+       * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
+       nothing to do.  Bind inhibit-quit.
+       (tip_frame): Make it a Lisp_Object.
+       (x_create_tip_frame): Set tip_frame after it has been added to
+       Vframe_list.
+       (Fx_show_tip): Don't set tip_frame here.
+       (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
+       (unwind_create_frame, unwind_create_tip_frame): New functions.
+       (Fx_create_frame, x_create_tip_frame): Handle errors signaled
+       while a frame is only partially constructed.
+
+       * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
+       (x_free_frame_resources): New function.
+       (x_destroy_window): Use it.
+
+2000-12-14  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (Fx_backspace_delete_keys_p): New function.
+       (syms_of_xfns): Defsubr it.
+
+       * config.in (HAVE_XKBGETKEYBOARD): Add.
+
+2000-12-14  Kenichi Handa  <handa@etl.go.jp>
+
+       * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
+       Always store string in multibyte representation in echobuf.
+       (echo_char): Always store string in multibyte representation in
+       echobuf.
+       (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
+       (read_key_sequence): Adjusted for the change of echo_prompt.
+
+       * fns.c (Fmd5): Docstring improved.
+
+       * lisp.h (detect_coding_system): Prototype adjusted.
+
+       * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
+       (detect_coding_emacs_mule, detect_coding_iso2022,)
+       (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
+       (detect_coding_utf_16, detect_coding_ccl): Make them static.
+       New argument MULTIBYTEP.  Callers changed.
+       (detect_coding_mask, detect_coding_system): New argument
+       MULTIBYTEP.  Callers changed.
+       (decode_coding_string): Set coding->src_multibyte and
+       coding->dst_multibyte before calling detect_coding and detect_eol.
+       Update them after some coding system is detected.
+
+2000-12-13  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
+
+       * keyboard.c (menu_bar_items, tool_bar_items):
+       Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
+
+2000-12-13  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
+       New variables.
+       (unwind_create_frame, unwind_create_tip_frame): New functions.
+       (Fx_create_frame, x_create_tip_frame): Handle errors signaled
+       while a frame is only partially constructed.
+
+       * xterm.h (x_free_frame_resources): Declare.
+
+       * xterm.c (x_free_frame_resources): New function.
+       (x_destroy_window): Use it.
+
+       * dispnew.c (update_window): If do_mouse_tracking is non-nil,
+       don't interrupt the update for pending input initially, i.e.
+       update at least some lines.
+
+       * keyboard.c (do_mouse_tracking): Make externally visible.
+
+       * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
+
+       * xfns.c (gray_bitmap_bits): Declare `char *'.
+
+2000-12-12  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (display_tool_bar_line): Make sure that tool bar
+       lines start with a relief line.
+
+2000-12-12  Dave Love  <fx@gnu.org>
+
+       * window.c (Fdisplay_buffer): Doc fix.
+       (Fwindow_list): Remove unused var.
+
+       * buffer.h (mmap_set_vars): Declare.
+
+       * window.h (Fset_window_point): Declare.
+
+2000-12-12  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (fast_find_position): Don't overstep the last window row.
+       (IT_note_mouse_highlight): Initialize portion to -1.  Remove unused
+       variable `area'.  When looking for a row under (X,Y), give up if some
+       of the previous rows is not enabled.
+
+2000-12-12  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (Fset_window_point): If displaying cursors in windows
+       other than the selected window, make sure redisplay updates
+       other windows to show the new value of point in the window.
+
+       * dispextern.h (cursor_in_non_selected_windows): Declare extern.
+
+       * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
+       the buffer is the sole visible buffer when in the mini-buffer.
+
+       * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
+       Bind `inhibit-read-only' to t.
+       (unwind_with_echo_area_buffer): Use AREF.
+
+       * xfns.c (Fx_hide_tip): Simplified.
+
+       * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
+       instead of `1'.
+
+       * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
+
+2000-12-11  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (Fx_hide_tip): Fix last change.
+
+       * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
+       nothing to do.  Bind inhibit-quit.
+       (tip_frame): Make it a Lisp_Object.
+       (x_create_tip_frame): Set tip_frame after it has been added to
+       Vframe_list.
+       (Fx_show_tip): Don't set tip_frame here.
+
+       * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
+
+       * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
+       Lisp_Object.
+
+       * dispextern.h: Change external declaration of tip_frame.
+
+       * keymap.c (Fkey_description): If KEYS is an empty key sequence,
+       return an empty string.
+
+       * xdisp.c (try_cursor_movement): Check update_mode_lines instead
+       of the window's update_mode_line flag, since the former is set by
+       force-mode-line-update, not the latter.  This makes
+       column-number-mode slightly faster.
+
+       * xdisp.c (try_window_id) <all changes above window start>:
+       Set the cursor.
+
+2000-12-11  Paul Eggert  <eggert@twinsun.com>
+
+       * config.in (HAVE_FTELLO): Remove.
+       (HAVE_FSEEKO): Add.
+       (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
+       * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
+       HAVE_FTELLO.
+       * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
+       * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
+
+2000-12-11  Miles Bader  <miles@gnu.org>
+
+       * window.c (displayed_window_lines): Don't round up when
+       converting empty space at bottom to lines.
+       Handle non-newline-terminated final lines properly.
+       (Fwindow_text_height): New function (used to be in lisp).
+       (syms_of_window): Initialize it.
+
+2000-12-09  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * syntax.c (scan_lists): Check that the right quote char has the
+       right Sstring syntax when jumping over strings.
+       (init_syntax_once): Use Smax rather than 13.
+
+2000-12-09  Miles Bader  <miles@gnu.org>
+
+       * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
+       with PARTIALLY, inverting the sense.
+       (window_scroll_pixel_based): Scroll partially visible lines into
+       place if we hit the beginning or end of the buffer.
+       (displayed_window_lines): Don't include partially visible lines.
+       (Fmove_to_window_line): Skip past any partially visible first line.
+
+2000-12-08  Gerd Moellmann  <gerd@gnu.org>
+
+       * keymap.c (current_minor_maps): Use malloc.  Prevent a leak.
+
+       * tparam.c (tparam1): Change the way buffers are reallocated to be
+       portable and less obfuscated.
+
+       * termcap.c (tgetent): Change the way buffers are reallocated to
+       be portable and less obfuscated.
+
+       * macros.c (store_kbd_macro_char): Change the way buffers are
+       reallocated to be portable and less obfuscated.
+
+       * lread.c (read1): Change the way buffers are reallocated to be
+       portable and less obfuscated.
+
+       * doc.c (Fsubstitute_command_keys): Change the way buffers
+       are reallocated so that it is portable.
+
+2000-12-07  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * dosfns.c (Ffile_system_info): New function.
+       (syms_of_dosfns): Defsubr it.
+
+2000-12-07  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * alloc.c (gc_sweep): Add comment.
+
+2000-12-07  Gerd Moellmann  <gerd@gnu.org>
+
+       * sound.c (vox_configure): Change order of ioctls.
+       Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
+       Ignore errors when changing volume.
+       (vox_close): Don't reset the device.
+
+       * process.c (read_process_output): Make sure the process marker's
+       position is valid when the process buffer is changed in
+       after-change functions.  W3 does that.
+
+       * xfns.c (x_free_gcs): New function.
+
+       * xterm.h (x_free_gcs): Add prototype.
+
+       * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
+       freeing GCs here.
+
+       * xterm.c (x_destroy_window): Call x_free_gcs so that
+       resources of non-toolkit X windows will be freed.
+
+2000-12-07  Andrew Innes  <andrewi@gnu.org>
+
+       * w32fns.c (xlfd_charset_of_font): Fix last change.
+
+2000-12-06  Dave Love  <fx@gnu.org>
+
+       * md5.h (__P): Don't define -- it comes from config.h.
+
+       * strftime.c: Change some #if foo to #ifdef foo.
+
+2000-12-06  Andrew Innes  <andrewi@gnu.org>
+
+       * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
+
+       * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
+       (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
+       (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
+
+2000-12-06  Gerd Moellmann  <gerd@gnu.org>
+
+       * alloc.c (gc_sweep): Prevent symbols read during loadup
+       from being freed.
+
+       * xdisp.c (underlying_face_id): New function.
+       (handle_face_prop, face_before_or_after_it_pos): Use it
+       to determine the face ``under'' a string.  Let strings inherit
+       the face of the buffer under them.
+
+       * xfaces.c (face_at_string_position): Update function comment.
+
+       * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
+       matrix if the window's left position has changed; we need to
+       redraw it in this case.
+
+       * dispextern.h (struct glyph_matrix): Add member window_left_x.
+
+       * window.c (coordinates_in_window): Check mouse on mode-line or
+       header-line first.
+
+       * alloc.c (Fgarbage_collect): Dox fix.  Return a list as
+       advertized by the function documentation.
+
+       * window.c (syms_of_window): Doc fix.
+
+       * sound.c (vox_configure): Set volume for left and right channel.
+       (sound_cleanup): Return nil.
+
+       * xdisp.c (move_it_by_lines): Fix paren typo.
+
+       * xterm.c (x_load_font): Don't use the font's max_bounds for
+       computing the height of the font.  If max_bounds' ascent or
+       descent are greater than the font's ascent or descent, this means
+       glyphs overlap, which should be handled now by redisplay.
+
+       * window.c (Veven_window_heights): New variable.
+       (syms_of_window): DEFVAR_LISP it.
+       (Fdisplay_buffer): Check Veven_window_heights before evening the
+       window heights.
+
+2000-12-06  Miles Bader  <miles@gnu.org>
+
+       * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
+       update `default-frame-alist' instead of setting no frame parameters.
+
+2000-12-06  Kenichi Handa  <handa@etl.go.jp>
+
+       * composite.c (update_compositions): Fix typo (use the correct
+       variable).
+
+2000-12-05  Jason Rumney  <jasonr@gnu.org>
+
+       * md5.h: Remove underscores from function declarations.
+       (__attribute__, __alignof__) [!__GNUC__]: Define.
+
+       * md5.c: Delay include of md5.h until after namespace cleaning.
+
+       * makefile.w32-in (fns.o): Depend on md5.h
+       (md5.o): New target.
+       (sunfns.o): Remove.
+
+       * makefile.nt: Likewise.
+
+2000-12-05  Jason Rumney  <jasonr@altavista.net>
+
+       * w32term.c (expose_area): Complete last change.
+
+2000-12-05  Ken Raeburn  <raeburn@gnu.org>
+
+       * minibuf.c: Include intervals.h.
+
+2000-12-05  Jason Rumney  <jasonr@gnu.org>
+
+       * w32term.c (x_produce_glyphs): If a font for a component of
+       a composition is not found, use 1 pixel dot ascent and 0 dot
+       descent value to avoid displaying terribly tall empty boxes.
+       (expose_area): Pass x-coordinate relative to the exposed
+       area to x_draw_glyphs instead of a window-relative coordinate.
+
+2000-12-05  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (next_element_from_ellipsis): Save face before selective
+       display in saved_face_id, and set face_before_selective_p.
+       (reseat_1): Reset face_before_selective_p.
+       (append_space, extend_face_to_end_of_line): If iterator's
+       face_before_selective_p is set, use the face from saved_face_id.
+       (extend_face_to_end_of_line): For tty frames, make sure to
+       use the right face id when producing spaces at the end of
+       the line.
+
+       * dispextern.h (struct it): Add face_before_selective_p.
+
+       * keyboard.c (record_char): Don't record identical help-echo
+       events in recent_keys.
+
+       * xterm.c [USE_X_TOOLKIT]: Close the display.
+       (xim_close_dpy): Handle case that the display has been closed.
+
+       * xterm.c (x_destroy_window): Reset the frame's X window after
+       destroying it.
+
+       * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
+       variable window_width.
+       (line_draw_cost): Fix code skipping over spaces at the end of the
+       line when must_write_spaces is not set.
+       (scrolling_window): Fix code inserting runs in list of all runs.
+
+2000-12-05  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (setup_coding_system): Be sure to initialize
+       coding->category_idx.
+
+2000-12-04  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (PER_CHAR_METRIC): Removed because not used.
+
+       * xterm.c (expose_area): Pass x-coordinate relative to the exposed
+       area to x_draw_glyphs instead of a window-relative coordinate.
+
+       * fileio.c (auto_save_error): Add parameter ERROR.  Show the
+       error in the message.
+
+       * keyboard.c (Fread_key_sequence): Don't start the busy cursor
+       timer after having read a key.  It's not good for code reading
+       several keys in a loop, like an input method.
+
+       * fileio.c (Finsert_file_contents): When VISIT is t, don't
+       record undo information for format-decode.
+
+       * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
+       current buffer is read-only, not if it isn't.
+
+       * keyboard.c (record_char): Record `help-echo' input events
+       in recent_keys only if they display some help.  Don't record
+       `help-echo' events as macro char.
+
+2000-12-04  Richard M. Stallman  <rms@caffeine.ai.mit.edu>
+
+       * editfns.c (save_excursion_restore): Don't move point
+       in another window if it is showing the wrong buffer.
+       Avoid the call to Fwindow_live_p, for speed.
+
+2000-12-04  Kenichi Handa  <handa@etl.go.jp>
+
+       * xfaces.c (struct font_name): New member registry_priority.
+       (split_font_name): Initialize the above member to zero.
+       (concat_font_list): New function.
+       (font_list): Include fonts of all alternative registries.
+       (FONT_POINT_SIZE_QUANTUM): New macro.
+       (better_font_p): Ignore point size difference less than
+       FONT_POINT_SIZE_QUANTUM.  Use registry_prioprity as a last resort.
+
+       * xterm.c (x_produce_glyphs): If a font for a component of
+       a composition is not found, use 1 pixel dot ascent and 0 dot
+       descent value to avoid displaying terribly tall empty boxes.
+
+       * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
+
+2000-12-03  Ken Raeburn  <raeburn@gnu.org>
+
+       * coding.h (code_convert_string1): Declare.
+
+       * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
+
+       * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
+
+2000-12-02  Jason Rumney  <jasonr@gnu.org>
+
+       * w32term.c (w32_bdf_per_char_metric): Dereference pointer
+       correctly for single byte character case.
+       (w32_per_char_metric): Do not try to make any assumptions about
+       the metrics of BDF fonts.
+       (x_estimate_mode_line_height): If `mode-line' face
+       hasn't a font, use that of the frame, as drawing glyphs does.
+       (note_mouse_highlight): Change the cursor shape on the vertical
+       border between windows [not enabled].
+
+       * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
+
+       * w32fns.c (Fx_create_frame): Reintroduce the call to
+       face-set-after-frame-defaults.
+       (Vx_window_horizontal_drag_shape): New variable.
+       (syms_of_xfns): DEFVAR_LISP it.
+       (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
+       enabled].
+
+2000-12-02  Simon Josefsson  <simon@josefsson.org>
+
+       * fns.c (Fmd5): Use a different logic to decide the coding system
+       to use.
+
+       * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
+
+2000-12-02  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
+
+2000-12-01  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_calc_absolute_position): Don't subtract menubar's
+       height for YNegative.
+       (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
+       height; also see comment there.
+
+       * window.c (coordinates_in_window): Handle computations for
+       positions on the vertical bar and fringes differently for
+       window-system frames.  Consider some pixels near the vertical bar
+       as on the bar if the frame doesn't have vertical scroll bars.
+       Associate positions between mode or header lines with the
+       right window, the left one.
+
+2000-12-01  Jason Rumney  <jasonr@gnu.org>
+
+       * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
+
+       * w32xfns.c (get_frame_dc): Avoid changing the palette on an
+       invalid frame.
+
+2000-12-01  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (struct saved_window): Add members orig_top and orig_height.
+       (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
+       (save_window_save, Fset_window_configuration): Save/restore
+       window's orig_top and orig_height.
+
+2000-12-01  Jason Rumney  <jasonr@gnu.org>
+
+       * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
+
+       * w32fns.c (x_set_cursor_color): Fix last change.
+
+2000-11-30  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (echo_area_display): If cursor is in the echo area, make
+       sure that the next redisplay displays the minibuffer, so that
+       the cursor will be replaced with what the minibuffer wants.
+
+       * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
+       #ifndef instead of using #if.
+       (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
+       USE_TOOLKIT_SCROLL_BARS is defined.
+
+2000-11-30  Jason Rumney  <jasonr@gnu.org>
+
+       * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
+       x_display_cursor.
+
+2000-11-30  Gerd Moellmann  <gerd@gnu.org>
+
+       * fns.c (Fmd5): Doc fix.
+
+2000-11-30  Simon Josefsson  <simon@josefsson.org>
+
+       * fns.c (Fmd5): New function.
+       (syms_of_fns): Defsubr md5.
+
+       * Makefile.in (obj): Add md5.o
+
+2000-11-30  Gerd Moellmann  <gerd@gnu.org>
+
+       * md5.h, md5.c: New files, taken from glibc.
+
+       * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
+
+       * xterm.c (x_estimate_mode_line_height): If `mode-line' face
+       hasn't a font, use that of the frame, as drawing glyphs does.
+
+2000-11-29  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * eval.c (Frun_hooks): Allow 0 arguments.
+
+2000-11-29  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
+       is over the menu bar widget, say it's not on the frame.
+
+       * xfns.c (Fx_create_frame): Reintroduce the call to
+       face-set-after-frame-defaults.
+
+       * eval.c (Fsignal): Reset handling_signal.
+
+2000-11-28  Jason Rumney  <jasonr@gnu.org>
+
+       * w32menu.c (add_menu_item): Reset menu item text when changing
+       type to radio button.
+
+2000-11-28  Gerd Moellmann  <gerd@gnu.org>
+
+       * xselect.c: Update copyright.
+
+       * window.c (coordinates_in_window): If on a mode or header line,
+       but sufficiently close to its start, return ``on vertical
+       border''.  This gives us a way to drag windows horizontally when
+       using toolkit scroll bars.
+
+       * xterm.c (note_mouse_highlight): Change the cursor shape
+       on the vertical border between windows.
+
+       * xterm.h (struct x_output): Add member horizontal_drag_cursor.
+
+       * xfns.c (Vx_window_horizontal_drag_shape): New variable.
+       (syms_of_xfns): DEFVAR_LISP it.
+       (x_set_mouse_color): Create frame's horizontal_drag_cursor.
+
+       * textprop.c (text_read_only): New function.
+       (verify_interval_modification): Use it instead of signaling
+       `text-read-only'.  This makes it easier to catch this error
+       with a breakpoint.:
+
+       * xdisp.c (forward_to_next_line_start): Check for newlines,
+       not end of line, which includes CR.
+
+2000-11-28  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (Ffind_coding_systems_region_internal): Be sure to
+       include no-conversion.
+
+2000-11-27  Jason Rumney  <jasonr@gnu.org>
+
+       * w32fns.c (w32_load_system_font): Always mark font as double byte
+       if codepage is unicode.
+
+2000-11-27  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (forward_to_next_line_start): If already on a newline,
+       just consume it to avoid unintended skipping over invisible text below.
+
+       * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
+       `vertical-line', `mode-line' and `header-line' events.
+
+       * xdisp.c (try_window_id): Avoid starting to display in the middle
+        of a character, a TAB for instance.  This is easier than to set
+        up the iterator exactly, and it's not a frequent case, so the
+        additional effort wouldn't really pay off.
+
+2000-11-26  Andrew Choi  <akochoi@i-cable.com>
+
+       * emacs.c (main) [macintosh]: Call syms_of_frame before calling
+       init_window_once.
+
+2000-11-25  Jason Rumney  <jasonr@gnu.org>
+
+       * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
+       Args to window_from_coordinates should be pixel coordinates.
+
+       * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
+       redisplay handles them properly.
+
+2000-11-25  Miles Bader  <miles@gnu.org>
+
+       * indent.c (compute_motion): Keep pos_byte in sync with pos.
+
+2000-11-24  Jason Rumney  <jasonr@gnu.org>
+
+       * w32.c (init_environment): Set LANG environment variable based on
+       locale settings, if not set.
+
+       * w32fns.c (x_set_tool_bar_lines): Clear internal border when
+       making tool bar smaller. When clearing the frame, also
+       clear current matrices. Clear frame when tool bar disappears.
+       Don't use more lines for the tool-bar than is available.
+       (x_change_window_heights): New function.
+
+2000-11-24  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (init_from_display_pos): If POS says we're already after
+        an overlay string ending at POS, make sure to pop the iterator
+        because it will be in front of that overlay string.  When POS is
+        ZV, we've thereby also ``processed'' overlay strings at ZV.
+
+       * xfaces.c (lface_from_face_name): Function comment fix.
+
+2000-11-24  Miles Bader  <miles@gnu.org>
+
+       * xdisp.c (display_menu_bar, display_mode_line): Change the way we
+       apply `mode-line-inverse-video' -- zero means force display using
+       the default face, non-zero means display using the specialized face.
+       (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
+
+2000-11-23  Kenichi Handa  <handa@etl.go.jp>
+
+       * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
+       hard coded `4'.
+
+2000-11-23  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * coding.c (decode_coding_emacs_mule): Fix the case of
+       CODING_EOL_LF, which used uninitialized value of c.
+
+2000-11-23  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
+
+2000-11-22  Gerd Moellmann  <gerd@gnu.org>
+
+       * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
+       buffer object.
+
+       * frame.h (struct frame): Replace desired_tool_bar_items,
+       current_tool_bar_items, n_desired_tool_bar_items,
+       n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
+
+       * frame.c (make_frame): Change initialization of tool bar
+       items accordingly.
+
+       * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
+       Change references to members deleted from struct frame to use the
+       new ones.
+
+       * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
+       references to members deleted from struct frame to use the new ones.
+
+       * dispnew.c (update_frame): Do nothing with frame's tool bar items.
+
+       * alloc.c (mark_object) <frame>: Mark tool bar items differently.
+
+       * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
+       (note_tool_bar_highlight): Change references to members deleted
+       from struct frame to use the new ones.
+
+2000-11-23  Miles Bader  <miles@gnu.org>
+
+       * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
+       the face's inverse-video attribute, rather than overriding it.
+
+2000-11-22  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (x_set_tool_bar_lines): Clear internal border when
+       making tool bar smaller.
+
+2000-11-22  Dave Love  <fx@gnu.org>
+
+       * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
+
+2000-11-22  Miles Bader  <miles@gnu.org>
+
+       * keyboard.c (Vminibuffer_message_timeout): New variable.
+       (command_loop_1): Use it to determine message timeout.
+       (syms_of_keyboard): Initialize it.
+
+       * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
+
+2000-11-22  Kenichi Handa  <handa@etl.go.jp>
+
+       * sysdep.c: Move the code for declaring h_errno after #include
+       <netdb.h>.
+
+2000-11-21  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
+       the menu bar when the tooltip is unmapped.
+
+       * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
+       sole visible buffer when we're currently in the mini-buffer, and
+       give up if so.
+
+2000-11-21  Jason Rumney  <jasonr@gnu.org>
+
+       * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
+       put on the clipboard.
+       (Fw32_get_clipboard_data): Compare data on clipboard with saved
+       copy of what Emacs last put there. If they are the same, do not
+       use the clipboard copy to avoid losing data due to coding conversions.
+
+2000-11-22  Miles Bader  <miles@gnu.org>
+
+       * minibuf.c (Vminibuffer_prompt_properties): New variable.
+       (syms_of_minibuf): Initialize it.
+       (read_minibuf): Add properties from Vminibuffer_prompt_properties
+       to prompt, don't make read-only.
+
+2000-11-21  Gerd Moellmann  <gerd@gnu.org>
+
+       * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
+       Add BEFORE/AFTER_POTENTIAL_GC.
+
+       * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
+
+       * buffer.c (mmap_free_1): Avoid a compiler warning.
+
+       * term.c, cm.c: Don't try to include termcap.h; see comment there.
+
+2000-11-21  Kenichi Handa  <handa@etl.go.jp>
+
+       * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
+       ... #endif scope.
+
+2000-11-20  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
+       screen supports it.
+
+       * s/gnu-linux.h: Don't use `#cpu'.
+
+       * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
+       not defined in mman.h.
+
+       * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
+       (x_send_scroll_bar_event): Store the window in scroll_bar_windows
+       and store an index in the XClientMessageEvent.  Storing a
+       Lisp_Object or pointer can fail on a 64 bit system, since X only
+       transfers 32 bits.
+       (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
+
+2000-11-20  Dave Love  <fx@gnu.org>
+
+       * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
+
+2000-11-20  Gerd Moellmann  <gerd@gnu.org>
+
+       * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
+
+2000-11-20  Kenichi Handa  <handa@etl.go.jp>
+
+       * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
+       by WIDTH.
+
+       * alloc.c (make_string): Fix previous change.  Be sure to make
+       unibyte string correctly.
+
+2000-11-19  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (Fwindow_list): Change parameter list to be XEmacs
+       compatible.
+       (window_list_1): New function.
+       (window_loop): Use it instead of Fwindow_list.
+
+       * sysdep.c (emacs_ospeed): New variable.
+       (toplevel): Don't declare ospeed extern.
+       (init_baud_rate): Use emacs_ospeed instead of ospeed.
+
+       * termcap.c (ospeed): Remove.
+       (tputs) [!emacs]: Remove unused code.
+       (tgetent): Avoid a compiler warning.
+
+       * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
+       (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
+       SCROLL_BAR_X_WIDGET with additional argument DPY.
+
+       * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
+       removed.
+       (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
+       Take the X display as additional argument.
+       (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
+       `Widget' is a pointer type that's not easily stored in Lisp_Object
+       form in a portable way.
+
+       * dispnew.c (update_text_area): Fix last change.
+
+2000-11-18  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c: Use BINDING_STACK_SIZE throughout.
+
+       * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
+       clear current matrices.
+
+       * buffer.c (mmap_enlarge): Don't print a message on stderr
+       if mapping new memory at the end of the existing region fails.
+
+       * dispnew.c (update_text_area): Don't skip over equal glyphs
+       when the last current glyph overlaps the glyph to its right.
+
+2000-11-18  Miles Bader  <miles@gnu.org>
+
+       * xdisp.c (message_log_check_duplicate): Let "..."-detection match
+       lines that *end* with "..." too (that's the most common case!).
+
+2000-11-18  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (resize_mini_window): Temporarily change to the
+       mini-window's buffer if necessary.
+
+       * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
+       the tooltip obscures less text under it.
+
+2000-11-17  Gerd Moellmann  <gerd@gnu.org>
+
+       * puresize.h (BASE_PURESIZE): Increase to 700000.
+
+2000-11-18  Jason Rumney  <jasonr@gnu.org>
+
+       * w32term.c (w32_draw_bitmap): Use face to set colors.
+
+2000-11-17  Dave Love  <fx@gnu.org>
+
+       * lread.c (Fload): Fix #ifdef for pcc.
+
+2000-11-17  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (pos_visible_p): Compute the default character height
+       differently.
+
+2000-11-16  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (pos_visible_p): Handle case that we reach ZV without
+       knowing the line's height; use the default font's height in that case.
+
+       * xfaces.c (weight_table): Add `demi' with the same meaning as
+       `demibold'.
+
+2000-11-16  Kenichi Handa  <handa@etl.go.jp>
+
+       * dispnew.c (null_row): New global static variable.
+       (clear_glyph_row): Delete local static variable null_row.
+
+2000-11-15  Jason Rumney  <jasonr@gnu.org>
+
+       * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
+       (w32_alloc_lighter_color): Use new brightness calculations from
+       xterm.c. Scale delta to be in the range expected by W32.
+       (w32_draw_relief_rect): Use frame relief colors.
+
+2000-11-15  Gerd Moellmann  <gerd@gnu.org>
+
+       * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
+       (Qinhibit_default_face_x_resources): New variable.
+       (syms_of_frame): Initialize it.
+       (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
+
+       * xdisp.c (pos_visible_p): Improve function comment.
+
+       * lisp.h (BINDING_STACK_SIZE): New macro.
+
+       * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
+       reading the directory if readdir returns null and errno is EAGAIN
+       or EINTR.
+
+2000-11-14  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
+       so setting scroll-step to 1 doesn't defeat scroll-conservatively.
+       Set amount_to_scroll to max of dx and scroll_step so that
+       scroll-conservatively doesn't defeat scroll-step>1.
+       (syms_of_xdisp): Add a hint in scroll-step's docstring to use
+       scroll-conservatively for line-at-a-time scrolling.
+
+2000-11-14  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (Fpos_visible_in_window_p): Call pos_visible with
+       extra argument.
+
+       * xdisp.c (current_mode_line_height, current_header_line_height):
+       New variables.
+       (init_xdisp): Initialize them.
+       (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P.  Compute
+       and use exact mode line heights if it is set.
+
+       * lisp.h (pos_visible_p): Change prototype.
+
+       * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
+       (CURRENT_HEADER_LINE_HEIGHT):  Look at current_mode_line_height
+       and current_header_line_height first.
+       (current_mode_line_height, current_header_line_height):
+       Declare extern.
+
+2000-11-14  Miles Bader  <miles@lsi.nec.co.jp>
+
+       * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
+       Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
+       (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
+
+2000-11-14  Miles Bader  <miles@gnu.org>
+
+       * xterm.c (x_alloc_lighter_color): Include an additive component
+       too for dark colors, because FACTOR isn't enough.
+       (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
+       New macros.
+
+2000-11-13  Gerd Moellmann  <gerd@gnu.org>
+
+       * keyboard.c (show_help_echo): Call message3_nolog with number of
+       bytes in the help string as 2nd parameter, instead of the number
+       of characters.
+
+2000-11-13  Miles Bader  <miles@gnu.org>
+
+       * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
+       (Fload): Use new openp return protocol.
+       Don't try to use Vload_source_file_function to load .elc files.
+       * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
+       openp return protocol.
+       * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
+
+2000-11-11  Kenichi Handa  <handa@etl.go.jp>
+
+       * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
+
+       * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
+       Defined these macros.
+       (NLIST_STRUCT): Avoid re-defining it.
+
+       * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
+       -I/usr/contrib/X11R6/include.
+       (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
+
+2000-11-10  Jason Rumney  <jasonr@gnu.org>
+
+       * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
+
+       * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
+       (w32_use_unicode_for_codepage): Use new pseudo-codepages.
+
+       * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
+       (Qw32_charset_vietnamese): New symbol.
+       (xlfd_charset_of_font): New function.
+       (w32_load_system_font): Use it.
+       (x_to_w32_charset): Use Fassoc to find charset info. Special case
+       when Vw32_charset_info_alist is nil to ensure default face always
+       has font. Use Fcar and Fcdr for safety.
+       (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
+       (w32_codepage_for_font): Use xlfd_charset_of_font.  Use new
+       pseudo-codepages for special cases.
+       (w32_to_x_font): New parameter to allow charset portion to be
+       specified where there is many to one mapping.  Callers changed.
+       (w32_list_fonts): Avoid listing fonts that won't display.
+
+2000-11-10  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (Vface_alternative_font_registry_alist): New variable.
+       (font_list_1): Renamed from font_list.
+       (font_list): New function, trying alternative registries from
+       Vface_alternative_font_registry_alist.
+       (Finternal_set_alternative_font_registry_alist): New function.
+       (syms_of_xfaces): Initialize and Staticpro
+       Vface_alternative_font_registry_alist.
+       Defsubr Finternal_set_alternative_font_registry_alist.
+
+2000-11-09  Ken Raeburn  <raeburn@gnu.org>
+
+       * lisp.h (Flooking_at): Declare.
+
+2000-11-09  Gerd Moellmann  <gerd@gnu.org>
+
+       * dired.c (directory_files_internal): Fix a braino.
+
+       * dired.c (directory_files_internal): Add missing GCPRO's.
+       Some cleanup.
+
+2000-11-08  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
+       (resize_mini_window): Return quickly if Vresize_mini_window is
+       nil.  Don't return if Vmax_mini_window_height is nil.
+
+       * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
+       (syms_of_xdisp): Initialize them.
+       (resize_mini_window): Act according to the setting of
+       Vresize_mini_window.
+       (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
+
+       * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
+       scroll bar widget after configuring it, so that it will appear at
+       the right position from the start.
+       (XTredeem_scroll_bar): Cleaned up.
+
+2000-11-08  Kenichi Handa  <handa@etl.go.jp>
+
+       * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change.  If the
+       font is taller than the frame line, we don't have to bias the
+       division by two.
+
+       * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
+
+2000-11-07  Dave Love  <fx@gnu.org>
+
+       * config.in (HAVE_MKSTEMP): Add.
+
+       * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
+
+2000-11-07  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (Fset_window_configuration): Don't try to preserve
+       point in the current buffer, if that buffer is displayed in more
+       than one window.
+
+       * xfaces.c (lookup_named_face): If default face isn't realized,
+       try to realize it.  Return -1 if not successful.
+       (Fx_list_fonts): Handle case that face cannot be determined.
+       (Fface_font): Likewise.
+
+2000-11-06  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (displayed_window_lines): Detect partially
+       visible lines at the bottom correctly.
+
+2000-11-06  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
+       when ensuring we don't do visit in indirect buffer.
+
+2000-11-06  Kenichi Handa  <handa@etl.go.jp>
+
+       * composite.h (compose_chars_in_text): Add prototype.
+
+       * composite.c (Vcomposition_function_table): New variable.
+       (Qcomposition_function_table): New variable.
+       (run_composition_function): Call
+       Vcompose_chars_after_function with three arguments.
+       (compose_chars_in_text): New function.
+       (syms_of_composite): Modified the doc-string of
+       Vcompose_chars_after_function.  Declare composition-function-table
+       as a lisp variable, and initialize it.
+
+       * xfns.c (x_encode_text): Suppress producing escape sequences for
+       composition.
+
+       * xselect.c: Include composite.h.
+       (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
+
+2000-11-05  Andrew Innes  <andrewi@gnu.org>
+
+       * w32term.c (x_produce_glyphs): Fix typo in enum name.
+
+       * sysdep.c (read_input_waiting): Remove extraneous argument to
+       read_socket_hook.
+
+       * w32fns.c (Fx_server_version): Include w32_build_number in the
+       return list.
+
+       * w32heap.c (w32_build_number): New variable.
+       (cache_system_info): Set it.
+
+       * w32heap.h (w32_build_number): Add extern.
+
+       * emacs.c (syms_of_emacs): Update docstring for
+       system-configuration, to reflect the actual usage on MS-Windows.
+
+2000-10-31  Gerd Moellmann  <gerd@gnu.org>
+
+       * keyboard.c (read_char) <wrong_kboard>: Make sure that we
+       process idle timers while waiting for another event.
+
+       * dispnew.c (update_frame_line): Handle case where spaces in
+       the default face are colored.
+
+       * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
+       window height hasn't changed.
+
+2000-10-31  Jason Rumney  <jasonr@gnu.org>
+
+       * w32term.c (x_produce_glyphs): Handle composite characters.
+       (x_draw_glyph_string_foreground)
+       (x_draw_composite_glyph_string_foreground): Restore old font.
+
+2000-10-31  Miles Bader  <miles@lsi.nec.co.jp>
+
+       * minibuf.c (read_minibuf): Reset the undo history just before
+       starting the recursive-edit.
+
+2000-10-30  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (menu_face_change_count): New variable.
+       (Finternal_set_lisp_face_attribute): Increment it for changes
+       of the `menu' face.
+       (realize_basic_faces): Reflect changes in the `menu' faces
+       in menu bars.
+
+       * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
+       dy obtained from the iterator's y-position after moving from
+       scroll_margin_pos to PT; see comment there.
+
+       * xdisp.c (safe_eval_handler): Call add_to_log.
+
+       * xfaces.c (resolve_face_name): Handle case that FACE_NAME
+       is not a symbol or string.
+
+       * xdisp.c (echo_area_display): Don't perform a display update from
+       inside redisplay.  The update will happen anyway at the end of
+       redisplay, and it can confuse redisplay (GC messages while
+       redisplaying, for instance.)
+
+2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * xrdb.c (x_load_resources): Use the class name in the defaults.
+
+       * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
+       (regex_compile): Catch bogus \(\1\).
+
+2000-10-30  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_alloc_nearest_color): Fix last change to compare
+       RGB values.
+
+       * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
+       we have a color cache, check that the cached color equals the
+       allocated color.  If not, clear the color cache.
+
+       * window.c (displayed_window_lines): Change buffers if necessary.
+       Fix computation of displayed lines.
+
+       * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
+       update_menu_bindings to DEFVAR_BOOL.
+
+2000-10-30  Kenichi Handa  <handa@etl.go.jp>
+
+       * search.c (Fset_match_data): Be sure to make search_regs always sane.
+
+       * puresize.h (BASE_PURESIZE): Increase to 680000.
+
+       * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
+
+2000-10-29  Jason Rumney  <jasonr@gnu.org>
+
+       * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
+
+       * w32term.c (w32_bdf_per_char_metric): Negate descent.
+       (w32_cache_char_metrics): Handle possibility that 'x' does not
+       exist in a BDF font.
+       (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
+
+       * w32bdf.h (bdffont): Add nchars.
+
+       * w32bdf.c (set_bdf_font_info): Set it.
+       (w32_BDF_TextOut): Swap byte order of double byte characters.
+       (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
+
+2000-10-28  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
+       don't override the colors in frame's param_alist, unless they are
+       unspecified.
+
+       * term.c (reassert_line_highlight): If inverse_video is non-zero,
+       reverse the effect of the highlight flag.
+
+2000-10-27  Ken Raeburn  <raeburn@gnu.org>
+
+       * window.h (Fwindow_live_p): Declare.
+
+       * undo.c (record_delete): Check that last_undo_buffer is really a
+       buffer before applying XBUFFER to it.
+
+       * keymap.c (where_is_internal): Pass lisp object, not integer, to
+       Faref.
+
+2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * lisp.h (KEYMAPP): New macro.
+       (get_keymap): Remove.
+       (get_keymap_1): Rename get_keymap.
+
+       * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
+
+       * xterm.c (note_mode_line_highlight): Use KEYMAPP.
+
+       * xmenu.c (single_submenu): Use KEYMAPP.
+       (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
+       Use KEYMAPP rather than Fkeymapp.
+
+       * w32term.c (note_mode_line_highlight): Use KEYMAPP.
+
+       * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
+       (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
+       Use KEYMAPP rather than Fkeymapp.
+       (single_submenu): Use KEYMAPP.
+       (w32_menu_show, w32_dialog_show): Use TRUE.
+
+       * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
+
+       * keymap.c (KEYMAPP): Remove (moved to lisp.h).
+       (Fkeymapp): Use KEYMAPP.
+       (get_keymap): Rename from get_keymap_1.  Remove old def.
+       Return t when autoload=0 and error=0 and the keymap needs autoloading.
+       (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
+       (Fminor_mode_key_binding): Don't raise an error if the binding
+       is not a keymap.
+       (Fuse_global_map, Fuse_local_map): Allow autoloading.
+       (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
+
+       * keyboard.c (read_char): get_keymap_1 -> get_keymap.
+       Allow Vspecial_event_map to be autoloaded.
+       (menu_bar_items): Fetch the keymap rather than using keymapp.
+       (menu_bar_one_keymap): No need to follow func-indirect any more.
+       (parse_menu_item): get_keymap_1 -> get_keymap.
+       (tool_bar_items): Fetch the keymap rather than using keymapp.
+       (read_key_sequence): Use KEYMAPP.
+
+       * intervals.c (get_local_map): Use get_keymap rather than following
+       function-indirections explicitly.
+
+       * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
+
+2000-10-27  Jason Rumney  <jasonr@gnu.org>
+
+       * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
+       point, as Windows has oversized fonts.
+
+       * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
+
+2000-10-27  Gerd Moellmann  <gerd@gnu.org>
+
+       * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
+       (freehook, reallochook): Handle null pointer arguments.
+       (__malloc_initialize) [GC_MCHECK]: Call mcheck.
+
+2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
+       (re_match_2_internal, re_match_2_internal, re_match_2_internal):
+       Giving in to popular pressure to shut up the compiler with casts.
+
+2000-10-27  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
+       signed value, and use a default value computed from the font's
+       maximum descent.
+
+2000-10-27  Miles Bader  <miles@lsi.nec.co.jp>
+
+       * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
+       that specify a negative underline position can still use underlines.
+
+       * window.c (Fpos_visible_in_window_p): Make POS default to
+       WINDOW's point, not the current buffer's point.
+
+2000-10-26  Dave Love  <fx@gnu.org>
+
+       * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
+       when it's necessary.
+
+2000-10-26  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (size_window): Compute size difference from sum of old
+       child window sizes instead of from parent's size.
+
+       * xdisp.c (pos_visible_p): Change current buffer if necessary.
+       Handle obscured lines at the top of the window.
+
+       * frame.c (Fdelete_frame): Doc fix.  Move running the hook
+       down after the last error condition check.
+
+       * frame.c (Fdelete_frame): Run delete-frame-hook.
+
+2000-10-26  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (decode_coding): Fix previous change (check also
+       CODING_MODE_LAST_BLOCK).
+
+2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.c: More `unsigned char' -> `re_char' changes.
+       Also change several `int' into `re_wchar_t'.
+       (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
+       (PUSH_FAILURE_POINTER): Don't cast any more.
+       (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
+       We want GCC to complain, since this piece of code makes
+       re_match non-reentrant, which *should* be fixed.
+       (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
+       (EXTEND_BUFFER): Use RETALLOC.
+       (SET_LIST_BIT): Don't cast.
+       (re_wchar_t): New type.
+       (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
+       that those two functions will always properly return.
+       (IMMEDIATE_QUIT_CHECK): Cast to void.
+       (analyse_first): Use recursion rather than an explicit stack.
+       (re_compile_fastmap): Can't fail anymore.
+       (re_search_2): Don't check re_compile_fastmap for failure.
+       (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
+       Now also sets the new value (passed in a new argument).
+       (re_match_2_internal): Use it.
+       Also, use a new var `reg' of type size_t when looping through regs
+       rather than reuse the inappropriate `mcnt'.
+
+       * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
+       (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
+       (where_is_internal): Renamed from Fwhere_is_internal.
+       Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
+       (Fwhere_is_internal): New function wrapping where_is_internal.
+       (where_is_internal_1): Handle the case where we're filling the cache.
+       (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
+
+2000-10-25  Miles Bader  <miles@gnu.org>
+
+       * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
+
+2000-10-25  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (pos_fully_visible_p): Removed.
+       (Fpos_visible_in_window_p): Use pos_visible_p to determine
+       if position is visible and/or fully visible.
+
+       * lisp.h (pos_visible_p): Add prototype.
+
+       * xdisp.c (pos_visible_p): New function.
+
+2000-10-25  Kenichi Handa  <handa@etl.go.jp>
+
+       * process.c (send_process): If OBJECT is t, it means that the data
+       is from C string, but we should encode it.  Before calling
+       setup_raw_text_coding_system, be sure to flush out data by the
+       previous coding system.
+
+2000-10-25  Miles Bader  <miles@lsi.nec.co.jp>
+
+       * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
+       assignment of startpos to prev when startpos == pos.
+
+       * editfns.c (find_field): Set the field stickiness correctly from
+       overlay fields.  Use renamed `text_property_stickiness'.
+       (text_property_stickiness): Renamed from `char_property_stickiness'.
+       Only check text properties, not overlays.
+       * textprop.c (get_char_property_and_overlay): New function.
+       (Fget_char_property): Use it.
+       * intervals.h (get_char_property_and_overlay): Add declaration.
+
+2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * keymap.c: Use AREF, ASET and ASIZE macros.
+       (Fmake_sparse_keymap): Docstring fix.
+       (synkey): Remove.
+       (shadow_lookup): Move up.
+       Handle the case where lookup-key returns an integer.
+       (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
+       (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
+       (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
+       Simplify/rewrite the keymap-finding code.
+       Add check for command shadowing, using shadow_lookup.
+
+2000-10-24  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
+       rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
+       a symbol.
+
+2000-10-24  Andrew Innes  <andrewi@gnu.org>
+
+       * dired.c (directory_files_internal_unwind): New function.
+       (directory_files_internal): Use it to ensure closedir is called
+       even if expand-file-name or file-attributes throw, eg. because of
+       a user interrupt.  Also enable immediate_quit while calling
+       re_search, so that matching can be interrupted as well.
+
+2000-10-24  Andrew Innes  <andrewi@gnu.org>
+
+       * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
+       NT-Emacs only.
+       (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
+       so that re_search functions only quit when callers expect them to.
+
+2000-10-24  Kenichi Handa  <handa@etl.go.jp>
+
+       * regex.c (regex_compile): Change the way of handling a range from
+       a char less than 256 to a char not less than 256.
+
+2000-10-24  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (size_window): Prevent setting window's width or
+       height to a negative value (esp. with XSETFASTINT).
+
+       * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
+       [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
+       (protect_malloc_state) [GC_MALLOC_CHECK &&
+       GC_PROTECT_MALLOC_STATE]: New function.
+       (PROTECT_MALLOC_STATE): New macro.
+       (__malloc_initialize, morecore, _malloc_internal)
+       (_free_internal) _realloc_internal): Use it to make _heapinfo
+       read-only outside of gmalloc.
+
+       * keymap.c: Update copyright.
+
+       * .gdbinit (xbacktrace): Handle case that $bt->function isn't
+       a symbol.
+
+2000-10-24  Colin Walters  <walters@cis.ohio-state.edu>
+
+       * filelock.c (unlock_all_files): Use unlock_file to expand each
+       buffer's file_truename before trying remove its lock file.
+
+2000-10-24  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
+       or CRLF, decode EOLs.
+
+2000-10-24  Kenichi Handa  <handa@etl.go.jp>
+
+       * window.c (Fdisplay_buffer): Fix doc.
+
+2000-10-23  Jason Rumney  <jasonr@gnu.org>
+
+       * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
+       ASCII font of default fontset on Windows.
+
+       * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
+       xterm.c comment below).
+
+       * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
+
+2000-10-23  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_connection_closed): Reset handling_signal.
+
+       * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
+
+2000-10-23  Miles Bader  <miles@gnu.org>
+
+       * window.c (window_scroll_pixel_based, window_scroll_line_based):
+       Pass nil for FULLY argument to Fpos_visible_in_window_p to
+       maintain old behavior.
+       * minibuf.c (Fminibuffer_complete): Likewise.
+
+2000-10-23  Miles Bader  <miles@lsi.nec.co.jp>
+
+       * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
+       that when a font can't be exactly centered, it errs up rather than
+       down.
+
+2000-10-23  ShengHuo ZHU  <zsh@cs.rochester.edu>
+
+       * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
+
+2000-10-23  Andrew Choi  <akochoi@i-cable.com>
+
+       * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
+
+       * dispnew.c [macintosh]: Include macterm.h.
+       (init_display) [macintosh]: Initialization for window system.
+
+       * emacs.c (main) [macintosh]: Call syms_of_textprop,
+       syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
+       syms_of_search, x_term_init, and init_keyboard before calling
+       init_window_once.  Also, call syms_of_xmenu.
+
+       * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
+       default fontset to Monaco.
+
+       * frame.c [macintosh]: Include macterm.h.  Remove declarations of
+       NewMacWindow and DisposeMacWindow.
+       (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
+       instead of calling NewMacWindow and setting fields of
+       f->output_data.mac directly.  Call init_frame_faces.
+       (Fdelete_frame) [macintosh]: Remove unused code.
+       (Fmodify_frame_parameters) [macintosh]: Call
+       x_set_frame_parameters instead of mac_set_frame_parameters.
+
+       * frame.h [macintosh]: Define menu_bar_lines field in struct
+       frame.  Define FRAME_EXTERNAL_MENU_BAR macro.
+
+       * keyboard.c [macintosh]: Include macterm.h.
+       (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
+       and menu_bar_activate_event type events as for X and NT.
+       (make_lispy_event) [macintosh]: Construct lisp events of type
+       MENU_BAR_EVENT as for X and NT.
+
+       * sysdep.c [macintosh]: Remove declaration for sys_signal.
+       Include stdlib.h.  Remove definition of Vx_bitmap_file_path.
+       (sys_subshell) [macintosh]: Remove definition entirely.
+       (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
+       Vwindow_system_version here.  Remove initialization of
+       Vx_bitmap_file_path.
+       (read_input_waiting): Correct the number of parameters passed to
+       read_socket_hook.
+       Move all Macintosh functions to mac/mac.c.
+
+       * term.c [macintosh]: Include macterm.h.
+
+       * window.c [macintosh]: Include macterm.h.
+
+       * xdisp.c [macintosh]: Include macterm.h.  Declare
+       set_frame_menubar and pending_menu_activation.
+       (echo_area_display) [macintosh]: Do not return if terminal frame
+       is the selected frame.
+       (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
+       Allow only the selected frame to set menu bar.
+       (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
+       calling FRAME_EXTERNAL_MENU_BAR (f).
+       (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
+
+       * xfaces.c [macintosh]: Include macterm.h.  Define x_display_info
+       and check_x.  Declare XCreateGC.  Define x_create_gc and
+       x_free_gc.  Initialize font_sort_order.
+       (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
+       but call x_list_fonts instead of w32_list_fonts.
+       (Finternal_face_x_get_resource) [macintosh]: Do not call
+       display_x_get_resource.
+       (prepare_face_for_display) [macintosh]: Set xgcv.font.
+       (realize_x_face) [macintosh]: Load the font if it is specified in
+       ATTRS.
+       (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
+
+2000-10-22  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
+       is nil: since we go to the end of submap anyway, we'd end up
+       setting nil to nil.
+       (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
+       doesn't obey autoload.
+
+2000-10-21  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (dos_set_window_size): Update screen dimension variables.
+
+2000-10-21  Jason Rumney  <jasonr@gnu.org>
+
+       * w32term.c (w32_cache_char_metrics): Double check that font is
+       really fixed pitch before trusting tmPitchAndFamily.
+
+2000-10-21  Andrew Innes  <andrewi@gnu.org>
+
+       * w32gui.h (w32_char_font_type): Move enum from w32term.c
+
+       * w32term.h: Extern decl for w32_cache_char_metrics.
+
+       * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
+
+       * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
+       (w32_unload_font): Free per_char array if present.
+
+       * w32term.c (w32_per_char_metric): Remove HDC argument.  Use
+       cached information in emulated XFontStruct to handle common cases
+       quickly.  Do not allocate XCharStruct for return.
+       (w32_native_per_char_metric): New function.
+       (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
+       allocating one.
+       (x_produce_glyphs): Don't get an HDC.  Change calls to
+       w32_per_char_metric to match arg change above.  Remove calls to
+       free results.
+       (w32_get_glyph_overhangs): Ditto.
+       (w32_cache_char_metrics): New function.
+
+       * makefile.w32-in: Change .obj to .$(O) in all dependencies.
+       ($(BLD)/casefiddle.$(O)): Remove compile command.
+       ($(BLD)/gmalloc.$(O)): Remove compile command.
+       ($(BLD)/dispnew.obj):
+       ($(BLD)/keyboard.obj):
+       ($(BLD)/w32inevt.obj):
+       ($(BLD)/w32bdf.obj):
+       ($(BLD)/alloc.obj):
+       ($(BLD)/buffer.obj):
+       ($(BLD)/editfns.obj):
+       ($(BLD)/emacs.obj):
+       ($(BLD)/fileio.obj):
+       ($(BLD)/fns.obj):
+       ($(BLD)/indent.obj):
+       ($(BLD)/insdel.obj):
+       ($(BLD)/intervals.obj):
+       ($(BLD)/minibuf.obj):
+       ($(BLD)/print.obj):
+       ($(BLD)/scroll.obj):
+       ($(BLD)/sysdep.obj):
+       ($(BLD)/textprop.obj):
+       ($(BLD)/widget.obj):
+       ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
+       ($(BLD)/term.obj): Add dependency on dispextern.h.
+
+       * makefile.nt ($(BLD)\dispnew.obj):
+       ($(BLD)\keyboard.obj):
+       ($(BLD)\w32inevt.obj):
+       ($(BLD)\w32bdf.obj):
+       ($(BLD)\alloc.obj):
+       ($(BLD)\buffer.obj):
+       ($(BLD)\editfns.obj):
+       ($(BLD)\emacs.obj):
+       ($(BLD)\fileio.obj):
+       ($(BLD)\fns.obj):
+       ($(BLD)\indent.obj):
+       ($(BLD)\insdel.obj):
+       ($(BLD)\intervals.obj):
+       ($(BLD)\minibuf.obj):
+       ($(BLD)\print.obj):
+       ($(BLD)\scroll.obj):
+       ($(BLD)\sysdep.obj):
+       ($(BLD)\textprop.obj):
+       ($(BLD)\widget.obj):
+       ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
+       ($(BLD)\term.obj): Add dependency on dispextern.h
+
+2000-10-21  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
+       with an additional argument of Qt.
+
+2000-10-21  Miles Bader  <miles@gnu.org>
+
+       * window.c (pos_fully_visible_in_window_p): New function.
+       (Fpos_visible_in_window_p): Add FULLY argument.
+       Use pos_fully_visible_in_window_p.
+       (window_scroll_pixel_based, window_scroll_line_based): Update
+       calls to Fpos_visible_in_window_p.
+       * lisp.h (Fpos_visible_in_window_p): Update prototype
+
+2000-10-20  Gerd Moellmann  <gerd@gnu.org>
+
+       * alloc.c (toplevel): Conditionalize compilation of mem_*
+       functions differently.
+
+2000-10-20  Jason Rumney  <jasonr@gnu.org>
+
+       * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
+       mem_init where it used to be. mem_z etc not defined otherwise.
+
+2000-10-20  Gerd Moellmann  <gerd@gnu.org>
+
+       * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
+       GC_MALLOC_CHECK.
+       (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
+       structure definition and related variabled to the top of the file.
+       Include this code when GC_MALLOC_CHECK is defined.
+       (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
+       register/unregister allocated region.
+       (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
+       which isn't allocated.
+       (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
+       something which is already in use.
+       (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
+       (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
+       (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
+       (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
+
+       * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
+       _malloc_internal instead of malloc.
+       (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
+       of free.
+
+2000-10-20  Andrew Innes  <andrewi@gnu.org>
+
+       * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
+       Windows.
+       (my_strftime) <macro>: Don't use macro arg list when redefining as
+       _strftime_copytm.
+       (my_strftime) <function>: Supply 0 as ut argument.
+
+2000-10-19  Jason Rumney  <jasonr@altavista.net>
+
+       * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
+       including dispextern.h, as it stops faces from working.
+
+       * w32fns.c (Fx_create_frame): Don't bother calling
+       face-set-after-frame-default since the caller does it for us
+       anyway. Clean up calls to x_get_arg to be consistent with X.
+
+       * w32term.c (x_produce_glyphs): Handle
+       unibyte_display_via_language_environment correctly.
+       (w32_draw_box_rect): Fix the calculation of width and height.
+
+       * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
+       as it has stopped working.
+       (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
+       menu-bar.
+
+2000-10-19  Gerd Moellmann  <gerd@gnu.org>
+
+       * eval.c (skip_debugger): Prevent a compiler warning.
+       (Fcondition_case): Likewise.
+       (Fbacktrace_frame): Use a null interactive spec.
+
+2000-10-19  Kenichi Handa  <handa@etl.go.jp>
+
+       * xterm.c (x_find_ccl_program): Check also fontp->full_name.
+
+2000-10-18  Gerd Moellmann  <gerd@gnu.org>
+
+       * strftime.c: Sync with glibc, file version 1.78.
+       (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
+       should no longer be used according to ISO 8601.
+
+       * keymap.c (access_keymap): If IDX has a meta prefix, and there's
+       no map for meta_prefix_char, don't try to use it as a keymap.
+       Instead, if T_OK is non-zero, look up a default binding, if any,
+       otherwise, if T_OK is zero, return nil.
+
+       * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
+       (x_to_xcolors, png_load): Use x_query_color.
+
+       * xterm.c (x_color_cells, x_query_colors, x_query_color):
+       New functions.
+       (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
+       which can be slow.
+       (x_copy_color, x_alloc_lighter_color): Likewise.
+
+       * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
+       (x_query_color, x_query_colors): Add prototype.
+
+       * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
+       check_string_bytes only if not noninteractive, increase count to 50.
+
+2000-10-18  Miles Bader  <miles@lsi.nec.co.jp>
+
+       * insdel.c (adjust_markers_for_delete): Handle before-insertion
+       markers correctly.
+
+2000-10-17  Gerd Moellmann  <gerd@gnu.org>
+
+       * alloc.c (pure_bytes_used): Renamed from pureptr.
+       (ALIGN): New macro.
+       (pure_alloc): New function.
+       (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
+       Use it.
+       (Fpurecopy): Use PURE_POINTER_P.
+
+       * xdisp.c (try_cursor_movement): Use cursor_row_p also when
+       PT has moved backward.
+
+       * xdisp.c (cursor_row_p): Take continued lines into account.
+
+       * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
+       string's size_byte.
+       (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
+       (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
+       (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
+       string allocated.
+
+       * xdisp.c (forward_to_next_line_start): Switch iterator's handling
+       of selective display off while searching for the next line start.
+
+2000-10-17  Kenichi Handa  <handa@etl.go.jp>
+
+       * Makefile.in (term.o): Depend on dispextern.h.
+
+2000-10-16  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * keymap.c (keymap_memberp): Ensure that nil is not a member.
+
+2000-10-16  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (set_iterator_to_next): Reset box start and end flags of
+       the iterator at the beginning, so that they can be set later on,
+       for instance in reseat_at_next_visible_line_start, without being
+       overwritten.
+
+       * xfns.c (pbm_format): Add :foreground and :background keywords.
+       (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
+       (xbm_load): Recognize foreground and background color specifications.
+
+2000-10-16  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * dispextern.h (unspecified_fg, unspecified_bg): Declare.
+
+       * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
+
+       * msdos.c (IT_set_face): Compare highlighted face with the default
+       face, and invert colors if these faces' colors are identical.
+       (Fmsdos_remember_default_colors): Don't swap foreground and
+       background colors in initial_colors[].
+       (IT_set_frame_parameters): Don't swap frame's foreground and
+       background pixels.  If ALIST includes "(reverse . t)", swap
+       foreground-color and background-color properties in frame's
+       param_alist.  If the original frame's param_alist doesn't specify
+       the colors, store unspecified-fg and unspecified-bg, reversed if
+       required.
+
+       * frame.c (Fframe_parameters): If a tty's frame's param_alist says
+       the colors are unspecified and reversed, reverse fore- and back-
+       ground in the returned value.
+       (Fframe_parameter): Ditto.
+
+2000-10-16  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
+       get_last_unchanged_at_beg_row.
+       (find_first_unchanged_at_end_row): Renamed from
+       get_first_unchanged_at_end_row.
+       (find_first_unchanged_at_end_row): Convert assertions to
+       unconditional tests which abort.  When looking for a row in
+       unchanged text, don't go further back than first_text_row.
+
+       * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
+       Don't add in the last line's height when deciding if the new
+       position is below the scroll margin.
+
+2000-10-16  Miles Bader  <miles@gnu.org>
+
+       * editfns.c (Fconstrain_to_field): Check carefully for field
+       boundaries if either OLD_POS or NEW_POS has a non-nil field
+       property, even if they're the same.
+
+2000-10-16  Kenichi Handa  <handa@etl.go.jp>
+
+       * xterm.c (x_draw_box_rect): Fix the calculation of width and
+       height for XFillRectangle.
+
+2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * syntax.c (Fstring_to_syntax): New function extracted from
+       Fmodify_syntax_entry.
+       (Fmodify_syntax_entry): Use it and document the ! and | fences.
+       (skip_chars, Fforward_comment): Remove unused variables.
+       (syms_of_syntax): Add defsubr for string-to-syntax.
+       (describe_syntax): Add code for comment and string fences.
+
+2000-10-14  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * keymap.c (access_keymap): Add AUTOLOAD parameter.
+       Do the meta->esc mapping.  Call get_keyelt before returning.
+       Start scanning from the second element (the first is always `keymap')
+       to make it easier to detect when we reach a parent map.
+       Handle the case of inheriting from a symbol whose function is a map.
+       (Fkeymap_parent): Also handle the `inherit from symbol' case.
+       (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
+       (get_keyelt, Flookup_key): Update call to access_keymap.
+       Remove the meta->esc mappings.
+       (define_as_prefix): Delete old disabled code.
+       (menu_item_p): New function.
+       (where_is_internal_1): Skip over the few remaining menu items.
+       * lisp.h (access_keymap): Update prototype.
+       * keyboard.c (read_char, menu_bar_items, tool_bar_items):
+       Update call to access_keymap.
+       (follow_key, read_key_sequence): Update calls to access_keymap.
+       Remove the meta->esc mappings.
+
+2000-10-13  Gerd Moellmann  <gerd@gnu.org>
+
+       * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
+       with additional argument.
+
+       * xdisp.c (cursor_row_p): New function.
+       (try_cursor_movement, display_line): Use it.
+
+       * xdisp.c (append_space): Also save/restore iterator's current
+       character and its length.
+
+       * xdisp.c (init_from_display_pos): Add an assertion.
+       (handle_stop): Don't set iterator's add_overlay_start.
+       (handle_invisible_prop): Likewise.
+       (load_overlay_strings): If text under an overlay is invisible,
+       take both before- and after-strings into account when the iterator
+       is positioned either at the start or at the end of the overlay.
+       (forward_to_next_line_start): Rewritten.
+       (reseat_at_next_visible_line_start): Rewritten.
+       (set_iterator_to_next): Add parameter RESEAT_P.
+
+       * dispextern.h (struct it): Remove member add_overlay_start.
+       (set_iterator_to_next): Change prototype.
+
+2000-10-13  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (code_convert_region): Be sure to initialize
+       coding->category_idx.
+       (decode_coding_string): Set coding->src_multibyte and
+       coding->dst_multibyte before using CODING_REQUIRE_DECODING.
+       (encode_coding_string): Set coding->src_multibyte and
+       coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
+
+2000-10-12  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * xfns.c (Fx_create_frame): Don't bother calling
+       face-set-after-frame-default since the caller does it for us anyway.
+
+2000-10-12  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * window.c (coordinates_in_window): Fix detection of vertical line
+       on character terminals.
+
+2000-10-12  Gerd Moellmann  <gerd@gnu.org>
+
+       * editfns.c (save_excursion_save): Additionally record the
+       selected window.
+       (save_excursion_restore): If buffer was visible in a window, and a
+       different window was selected, and the old selected window is
+       still live, restore point in that window.
+
+2000-10-12  Kenichi Handa  <handa@etl.go.jp>
+
+       * xterm.c (x_produce_glyphs): Handle
+       unibyte_display_via_language_environment correctly.
+
+       * regex.c (regex_compile): Change the way of handling a range from
+       unibyte char to multibyte char.
+
+       * syntax.c (skip_chars): Change the way of handling a range from
+       unibyte char to multibyte char.
+
+       * process.c (read_process_output): Cancel previous change.
+
+2000-10-11  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
+
+       * charset.c (Ffind_charset_string): Doc fix.
+       (Ffind_charset_region): Doc fix.
+
+2000-10-11  Kenichi Handa  <handa@mule.m17n.org>
+
+       * process.c (read_process_output): Fix previous change.  Adjust
+       multibyteness of text to insert in a buffer by
+       string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
+
+2000-10-10  Andreas Schwab  <schwab@suse.de>
+
+       * alloc.c (mark_object): Remove all workarounds installed on
+       1993-08-08.
+
+2000-10-10  Kenichi Handa  <handa@etl.go.jp>
+
+       * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
+       (base64_encode_1): Make it work for a text of multibyte form.
+       (Fbase64_decode_region): Allocate sufficient memory for multibyte
+       case.  Don't call str_to_multibyte because base64_decode_1
+       produces correct multibyte form for eight-bit codes.
+       (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
+       (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN.  If
+       MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
+       codes.
+
+       * charset.h (CHAR_STRING): Optimized for single byte characters.
+
+2000-10-09  Andreas Schwab  <schwab@suse.de>
+
+       * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
+       -1 after socket is closed, to fall through to error processing.
+
+2000-10-09  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
+       variables.  If ALIST includes foreground-color or
+       background-color, change also the colors of the default face for
+       this frame.
+
+2000-10-08  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
+       them extern (they are defined on xfaces.c).
+       (syms_of_msdos): Don't intern and don't staticpro
+       Qbackground_color and Qforeground_color.
+
+2000-10-07  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * frame.c (Fframe_parameter): For non-windowed frames, if
+       f->param_alist says foreground or background color is unspecified,
+       call tty_color_name to return the color name computed from the
+       frame's current colors.
+
+2000-10-06  Dave Love  <fx@gnu.org>
+
+       * terminfo.c (ospeed): Don't declare.
+
+       * sysdep.c: Don't include string.h.
+       (h_errno): Declare conditional also on TRY_AGAIN.
+
+       * charset.c (Ffind_charset_string): Doc fix.
+
+       * fns.c (Fbase64_encode_region, Fbase64_encode_string)
+       (Fbase64_decode_region, Fbase64_decode_string): More explicit
+       error messages.
+
+2000-10-05  Dave Love  <fx@gnu.org>
+
+       * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
+       position like menu-bar.
+
+2000-10-05  Gerd Moellmann  <gerd@gnu.org>
+
+       * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
+
+       * xdisp.c (handle_single_display_prop): Use safe_call1.
+       (safe_call): Renamed from call_function.
+       (safe_call1): New function.
+       (handle_fontified_prop): Use safe_call1 instead of call1.
+       (safe_eval): Renamed from eval_form.
+       (safe_eval_handler): Renamed from eval_handler.
+       (handle_single_display_prop, display_mode_element): Use safe_eval
+       instead of eval_form.
+
+       * xfaces.c (merge_face_heights): Use safe_call instead of
+       call_function.
+
+       * keyboard.c (show_help_echo): Use safe_call instead of
+       call_function; use safe_eval instead of eval_form.
+
+       * lisp.h (safe_call): Renamed from call_function.
+       (safe_eval): Renamed from eval_form.
+       (safe_call1): Add prototype.
+
+2000-10-05  Miles Bader  <miles@lsi.nec.co.jp>
+
+       * xfns.c (image_ascent): Rearrange ascent calculation for the
+       has-a-font case.
+
+2000-10-04  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
+       (where_is_internal_1): Don't bother ignoring menu-items any more.
+
+2000-10-04  Gerd Moellmann  <gerd@gnu.org>
+
+       * keyboard.c (update_menu_bindings): New variable.
+       (parse_menu_item): Use AREF.  If update_menu_bindings
+       is 0, don't update menu bindings.
+       (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
+
+2000-10-03  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
+       to `mark_object'.
+
+2000-10-02  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * syntax.c (forw_comment): Match nestedness of ender/starter.
+       (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
+       (prev_char_comstart_first): Remove.
+       (back_comment): Check two-char comment markers more carefully
+       to better handle overlapping cases like *//* or /* */* */ ...
+       Match nestedness of ender/starter.
+
+2000-10-02  Dave Love  <fx@gnu.org>
+
+       * config.in (HAVE_GAI_STRERROR): Add undef.
+
+       * process.c (Fopen_network_stream): Use it.
+
+       * m/alpha.h (NO_REMAP): Don't define.
+
+2000-10-02  Gerd Moellmann  <gerd@gnu.org>
+
+       * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
+       return with a string converted to an integer or vice versa when
+       Vmocklisp_arguments is t.
+       (Fsignal): Likewise.  The function can return for `quit'.
+       (struct gcpro): Declare member `var' to point to a volatile
+       Lisp_Object.
+
+       * eval.c (error): Prevent compiler warning.
+
+2000-09-30  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * keymap.c (keymap_memberp): New function.
+       (Fset_keymap_parent): Use it.
+       (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
+       Use keymap_memberp to avoid creating cycles.
+       (access_keymap): Use KEYMAPP.
+
+2000-09-30  Gerd Moellmann  <gerd@gnu.org>
+
+       * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
+       gai_strerror.  Make sure xerrno is set if connect fails.  Improve
+       error recovery.
+
+2000-09-29  Jason Rumney <jasonr@gnu.org>
+
+       * w32term.c (w32_char_font_type, w32_encode_char)
+       (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
+       (w32_bdf_per_char_metric): New function.
+       (w32_per_char_metric): Use it.
+       (x_draw_glyph_string_background): Always draw background for BDF
+       glyphs.
+
+       * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
+       GDI object which is a scarce resource.
+
+       * w32bdf.c (search_file_line): Fix skipping of whitespace.
+       (get_quoted_string): Fix limit on memchr search.
+       (set_bdf_font_info): Use unsigned chars. Negate yoffset.
+       (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
+       (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
+       (get_cached_font_char, cache_char_offset): Use macro
+       BDF_CODEPOINT_RANGE_COVER_P.
+       (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
+       (clear_cached_bitmap_slots): New function.
+       (GET_HEX_VALUE): G-Z, g-z are not hex.
+       (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
+       (get_bitmap_with_cache): Use new cache implementation.
+       (create_offscreen_bitmap): New function.
+       (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
+
+       * w32term.c (x_produce_glyphs):  If the distance from the current
+       position to the next tab stop is less than a canonical character
+       width, use the tab stop after that.
+       (x_draw_glyphs): Handle case START and END are out of bounds more
+       carefully.
+       (x_clear_mouse_face): Block/unblock input.
+       (x_display_and_set_cursor): Don't show a hollow box cursor for
+       buffers whose cursor_type is nil.
+
+2000-09-29  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
+
+       * dispextern.h (updating_frame): Declare extern.
+
+2000-09-29  Andreas Schwab  <schwab@suse.de>
+
+       * m/ia64.h: Remove hack of not prototyping bcopy, etc.
+
+2000-09-29  Gerd Moellmann  <gerd@gnu.org>
+
+       * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
+       use its function definition.
+       (tool_bar_items): Likewise.
+
+       * lisp.h (fatal): Declare NO_RETURN.
+
+2000-09-29  Kenichi Handa  <handa@etl.go.jp>
+
+       * keymap.c: Remove the line "#undef NULL".
+
+2000-09-28  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
+
+2000-09-28  Dave Love  <fx@gnu.org>
+
+       * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
+
+       * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
+
+       * .gdbinit (xreload): Note its need on GNU/Linux.
+
+       * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
+       r_alloc, r_alloc_free.
+
+2000-09-28  Kenichi Handa  <handa@etl.go.jp>
+
+       * syntax.c (skip_chars): Handle negation correctly.
+
+2000-09-27  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (realize_default_face): Call set_lface_from_font_name
+       with non-zero FORCE_P argument.
+
+       * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
+       Add assertions.
+
+       * xdisp.c (window_box_height): Add an assertion.
+
+       * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
+       tool-bar than is available.
+       (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
+
+2000-09-27  Dave Love  <fx@gnu.org>
+
+       * s/irix6-5.h: Now works 64-bit.  Tidied.
+
+2000-09-26  Gerd Moellmann  <gerd@gnu.org>
+
+       * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
+       instead of BITS_PER_INT.
+       (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
+       EMACS_UINT, respectively.
+       (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
+
+       * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
+
+       * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
+
+       * window.c (freeze_window_starts): Construct last argument for
+       foreach_window differently.
+
+       * xfns.c (x_decode_color): Don't return a Lisp_Object.
+
+       * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
+       EMACS_UINT instead of `int' and `unsigned int'.
+       (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
+
+       * frame.h (struct frame): Make the `nothing' member of union
+       output_data an EMACS_INT.
+
+       * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
+       (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
+       size in the sdata structure.
+       (SDATA_NBYTES, SDATA_DATA): New macros.
+       (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
+       differently for the different layout of the sdata structure.
+       (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
+       in sdata.
+       (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
+       Check that size recorded in the string size and size recorded in
+       the sdata structure agree.
+
+2000-09-25  Dave Love  <fx@gnu.org>
+
+       * buffer.c: Include stdio.h.
+
+       Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
+
+       * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
+
+       * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
+       (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
+       (__malloc_extra_blocks): Declare as __malloc_size_t.
+
+2000-09-25  Gerd Moellmann  <gerd@gnu.org>
+
+       * alloc.c (mark_image): Use GC_NILP instead of NILP.
+
+       * keyboard.c (show_help_echo): Set help_echo_showing_p.
+       (read_char): If help-echo is showing, preserve the echo area
+       when redisplaying.
+
+       * xdisp.c (help_echo_showing_p): New variable.
+       (set_message): Reset it to 0.
+       (init_xdisp): Initialize help_echo_showing_p.
+
+       * dispextern.h (help_echo_showing_p): Declare extern.
+
+       * config.in: Fix typo in __GNUC_MINOR__.
+
+       * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
+
+       * s/freebsd.h (POSIX_SIGNALS): Define.
+
+       * xterm.c (x_clear_mouse_face): Block/unblock input.
+
+2000-09-24  Dave Love  <fx@gnu.org>
+
+       * fns.c (base64_encode_1): Fix last change.
+
+2000-09-22  Gerd Moellmann  <gerd@gnu.org>
+
+       * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
+
+       * xdisp.c (try_window_reusing_current_matrix): More fixes
+       for the case window has a header-line.
+
+2000-09-22  Dave Love  <fx@gnu.org>
+
+       * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
+       a doc string.
+
+       * xterm.c [SOLARIS2]: Remove redundant include of string.h.
+
+       * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
+
+2000-09-21  Gerd Moellmann  <gerd@gnu.org>
+
+       * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
+       for GCC >= 2.5.
+
+       * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
+       Declare NO_RETURN.
+
+       * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
+       * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
+       * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
+       warnings.
+
+       * marker.c (byte_char_debug_check): Return void.
+
+       * xfns.c (Fx_create_frame): Set default frame parameter value
+       for tool-bar-lines to 1.
+
+       * dispnew.c (scrolling_window): Compare y-positions of rows
+       equal at the start.  Some simplification.
+
+       * xdisp.c (try_window_reusing_current_matrix): Fix computation of
+       reused rows' y-position in the case window has a header-line, and
+       new window start is greater than old window start.
+
+       * process.c (process_sent_to): New variable.
+       (send_process): Workaround for a crash on sparc-sun-solaris-2.6
+       with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
+       Declare more parameters volatile.
+
+       * lread.c (Vrecursive_load_depth_limit): New variable.
+       (Fload): Check recursive loads whose recursion depth exceeds
+       Vrecursive_load_depth_limit.
+       (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
+
+2000-09-20  Gerd Moellmann  <gerd@gnu.org>
+
+       * fileio.c (Fread_file_name): Doc fix.
+
+       * editfns.c (Fmessage_or_box): Doc fix.
+
+       * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
+
+       * xfns.c (xbm_scan): Allow C-style comments.
+
+       * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
+       symbols are specified, add color translations to the cache.
+       (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
+       (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
+       xpm_cache_color.
+       (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
+       structures to xpm_init_color_cache.
+
+2000-09-19  Gerd Moellmann  <gerd@gnu.org>
+
+       * dispnew.c (update_window_line): Make sure to always draw mode-lines.
+
+2000-09-19  Andrew Innes  <andrewi@gnu.org>
+
+       * makefile.nt (bootstrap-emacs): Don't change directory.
+
+2000-09-19  Kenichi Handa  <handa@etl.go.jp>
+
+       * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
+
+       * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
+       If output buffer is too small, signal an appropriated error.
+
+2000-09-18  Dave Love  <fx@gnu.org>
+
+       * keyboard.c (menu_bar_items, tool_bar_items)
+       (current_active_maps): Remove redundant get_local_map call.
+
+2000-09-18  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_display_and_set_cursor): Don't show a hollow box
+       cursor for buffers whose cursor_type is nil.
+
+       * xterm.c (x_draw_image_glyph_string): Remove a comment describing
+       a feature to implement that is already implemented.
+       (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
+       warnings.
+
+       * xfns.c (x_clear_image_1): New function.
+       (x_clear_image): Use it.
+       (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
+
+       * dispnew.c (update_window): Move test for invisible lines
+       at the top to update_window_line.
+       (update_window_line): Handle invisible lines here.
+
+       * xfns.c (clear_image_cache): Clear current matrices of all
+       frames sharing an image cache.  Block input while freeing
+       images.  Fix timestamp comparison.
+       (x_clear_image): Also free the mask.
+
+       * xfns.c (lookup_image): Block input while loading the image so
+       that we won't get interrupted in a state where the image isn't yet
+       set up completely.
+       (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
+       (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
+       (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
+       (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
+
+2000-09-16  Gerd Moellmann  <gerd@gnu.org>
+
+       * dispnew.c (update_window): Make sure to make desired rows
+       current even if they are completely invisible at the top
+       of a window.
+
+2000-09-15  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (lookup_image): Build mask before applying an algorithm.
+       Recognize algorithm `disabled'.
+       (cross_disabled_images): New variable.
+       (COLOR_INTENSITY): New macro.
+       (x_detect_edges): Use COLOR_INTENSITY.
+       (x_disable_image): New function.
+       (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
+
+       * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
+       disabled state, don't apply an image transformation algorithm if
+       the user specified an image for the disabled state.  Use
+       `:algorithm disabled' for creating a disabled item's image if the
+       user hasn't specified an image.
+
+       * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
+       allocation functions with the XPM lib.
+       (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
+       (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
+       (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
+       (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
+       (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
+       (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
+       functions, if possible, because these handle color allocation
+       failure more gracefully.
+       (Fimage_mask_p): New function.
+
+       * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
+       (Qedge_detection, Qheuristic): New symbols.
+       (syms_of_xfns): Initialize new symbols.
+       (lookup_image): Handle `:mask X', `:algorithm emboss', and
+       `algorithm (edge-detection ...)'.
+       (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
+       (tiff_format, gif_format, gs_format): Add `:mask'.
+       (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
+       (GIF_MASK, GS_MASK): New enumerators.
+       (x_laplace_read_row, x_laplace_write_row): Functions removed.
+       (emboss_matrix, laplace_matrix): New variables.
+       (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
+       (x_edge_detection): New functions.
+       (x_laplace): Rewritten in terms of x_detect_edges.
+       (x_build_heuristic_mask): If image has a mask, free it.
+
+2000-09-14  Andrew Innes  <andrewi@gnu.org>
+
+       * makefile.w32-in: Revert to Unix line endings.
+
+2000-09-14  Andrew Innes  <andrewi@gnu.org>
+
+       * makefile.w32-in: Standardize indentation somewhat.
+       (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
+       cater for differences between shells.
+
+       * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
+
+2000-09-14  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_produce_glyphs): If the distance from the current
+       position to the next tab stop is less than a canonical character
+       width, use the tab stop after that.
+
+2000-09-14  Dave Love  <fx@gnu.org>
+
+       * buffer.c (alloc_buffer_text): Fix xmalloc call.
+
+2000-09-14  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (handle_fontified_prop): While running fontification
+       functions, bind `fontification-functions' and
+       `after-change-functions' to nil.
+
+       * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
+       (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
+
+       * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
+
+       * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
+       USE_MMAP_FOR_BUFFERS.
+
+       * insdel.c (make_gap): Use enlarge_buffer_text.
+
+       * buffer.c: Move allocation with mmap here, from ralloc.c.  Change
+       conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
+       (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
+       from former r_alloc_* functions in ralloc.c.
+       (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
+       (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
+       (mmap_init) [REL_ALLOC_MMAP]: New function.
+       (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
+       functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
+       BUFFER_FREE.
+
+       * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
+       (enlarge_buffer_text): Add prototype.
+
+       * ralloc.c: Remove everything having to do with the use of mmap.
+
+2000-09-13  Gerd Moellmann  <gerd@gnu.org>
+
+       * sound.c (Fplay_sound): Doc fix.
+
+       * keyboard.c: Avoid some more compiler warnings.
+       (parse_tool_bar_item): Ignore cached key bindings.
+
+       * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
+       and allocation of Lisp data.
+
+2000-09-12  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
+       (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
+       defaults first.
+
+       * lread.c (Fload): Put code checking for recursive loads in #if 0.
+
+2000-09-12  Miyashita Hisashi  <himi@meadowy.org>
+
+       * ccl.c: Comment fixed.
+       (MAX_MAP_SET_LEVEL): Increased to 30.
+       (PUSH_MAPPING_STACK): Enclose with do-while block.
+       (POP_MAPPING_STACK): Likewise.
+       (stack_idx_of_map_multiple): New variable.
+       (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
+       (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
+       call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
+       (ccl_driver) <CCL_MapSingle>: Likewise.
+       (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
+       with the case where looking up process reaches to the end of
+       map-set, and call CCL programs as the above change.
+
+2000-09-11  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (png_load, jpeg_load): Declare some variables volatile
+       that might be clobbered by longjmp.
+       (check_x_display_info, x_decode_color, create_frame_xic)
+       (Fx_display_backing_store, Fx_display_visual_class)
+       (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
+
+       * lread.c (init_lread): Set Vloads_in_progress to nil.
+       (Fload): Show list of recursively loaded files, when signaling an
+       error.
+
+       * lread.c (Vloads_in_progress): New variable.
+       (record_load_unwind): New function.
+       (Fload): Check for recursive loads.
+       (syms_of_lread): Initialize Vloads_in_progress.
+       (read_integer, read1): Avoid some compiler warnings.
+
+       * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
+       compiler warnings.
+
+2000-09-11  Miles Bader  <miles@gnu.org>
+
+       * editfns.c (Fbuffer_string): Doc fix.
+
+2000-09-10  Gerd Moellmann  <gerd@gnu.org>
+
+       * ralloc.c (mmap_enlarge): Don't return 0 if successful.
+
+2000-09-09  Ken Raeburn  <raeburn@gnu.org>
+
+       * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
+       whether to include other header files.
+
+2000-09-09  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
+       by Fmemq as a boolean.
+
+2000-09-08  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
+
+2000-09-08  Gerd Moellmann  <gerd@gnu.org>
+
+       * ralloc.c (mmap_fd): Remove initializer which can make it
+       read-only in a dumped Emacs.
+       (mmap_fd_1): New variable.
+       (mmap_set_vars): Remove local `fd'.  Save mmap_fd in mmap_fd_1,
+       restore it from there.
+       (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
+       unconditionally so that mmap_fd can be initialized there.
+       (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
+       (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
+       (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
+
+       * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
+
+       * xdisp.c (dump_glyph_row): Fix printf format string.
+       (display_line, move_it_in_display_line_to): Avoid compiler warnings.
+
+       * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
+
+       * keymap.c (Fset_keymap_parent): Check for cycles in keymap
+       inheritance.
+
+       * xdisp.c (try_window_id): When trying to locate cursor in
+       unchanged rows at the top, handle the case that we can't find it.
+
+       * xterm.c (x_draw_glyphs): Handle case START and END are out
+       of bounds more carefully.
+
+2000-09-08  Dave Love  <fx@gnu.org>
+
+       * s/sol2.h (REL_ALLOC_MMAP): Define.
+       * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
+
+       * ralloc.c: Don't include string.h (redundant).
+       (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
+       [!MAP_ANON]: Include fcntl.h.
+       (mmap_fd) [REL_ALLOC_MMAP]: New variable.
+       (r_alloc, r_re_alloc, r_alloc_free)
+       (mmap_enlarge, mmap_set_vars): Use it.
+       (r_alloc_init_fd): New function.
+       (__morecore) [SYSTEM_MALLOC]: Don't declare.
+       (r_alloc_init): Call r_alloc_init_fd.  Conditionalize stuff on
+       malloc type.
+
+       * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
+       Remove vm-limit.o.
+
+       * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
+       change to __NetBSD__.
+
+2000-09-08  Kenichi Handa  <handa@etl.go.jp>
+
+       * search.c (compile_pattern): Check the multibyteness of cached
+       string and PATTERN.
+
+2000-09-08  Miles Bader  <miles@gnu.org>
+
+       * xfaces.c (default_face_vector): Function removed.
+       (Finternal_merge_in_global_face): Restore old global/local
+       attribute override order.  Use inline loop instead of calling
+       default_face_vector.
+
+2000-09-07  Gerd Moellmann  <gerd@gnu.org>
+
+       * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
+       (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
+       (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
+       where necessary, in case POINTER_TYPE is `void'.
+
+2000-09-07  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * frame.c (make_terminal_frame): Initialize frame foreground and
+       background colors to unspecified, for the initial instance of an
+       MSDOS frame.
+
+2000-09-07  Gerd Moellmann  <gerd@gnu.org>
+
+       * ralloc.c (mmap_find): Fix overlap computation.
+       (mmap_enlarge): Compute nbytes before trying to find an
+       overlapping region.
+
+       * xfaces.c (smaller_face): Compare font heights with `<' and `>'
+       instead of `!='.
+
+       * lread.c (syms_of_lread): Change value of regexp
+       Vbytecomp_version_regexp to not match some XEmacs-compiled files.
+
+       * xmenu.c (xdialog_show): When looking up the selection in
+       menu_items, take `quote' boundaries into account; this corresponds
+       to a nil ITEM in x-popup-dialog.
+
+2000-09-07  Kenichi Handa  <handa@etl.go.jp>
+
+       * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
+       not 0x81.
+       (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
+
+       * coding.c (encode_coding_sjis_big5): Use translation table for
+       encoding, not decoding.  Fix the handling of latin-jisx0201.
+       Check for the charset katakana-jisx0201 too.
+       (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
+       (detect_coding_sjis): Check the byte sequence more rigidly.
+
+2000-09-07  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (Vparam_value_alist): New variable.
+       (syms_of_xfaces): Initialize it.
+       (Finternal_set_lisp_face_attribute): Avoid more consing.
+
+       * frame.c (Fframe_parameter): Handle `name' and `background-mode'
+       specially.
+       (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
+       (Qbackground_mode): New variable.
+       (syms_of_frame_1): Initialize Qbackground_mode.
+
+       * lisp.h (Qdisplay): Declare extern.
+
+       * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
+       change face on all frames, and change the default for new frames.
+
+2000-09-07  Dave Love  <fx@gnu.org>
+
+       * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
+
+2000-09-07  Kenichi Handa  <handa@etl.go.jp>
+
+       * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
+
+       * charset.c: Include composite.h
+       (lisp_string_width): New function.
+       (Fstring_width): Call lisp_string_width instead of strwidth.
+
+       * Makefile.in (charset.o): Depends on composite.h.
+
+       * process.c (read_process_output): Before inserting the decoded
+       text in the buffer, adjust the multibyteness.
+
+2000-09-06  Gerd Moellmann  <gerd@gnu.org>
+
+       * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
+       buffer's text buffer is null, map new memory.
+
+       * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
+       POINTER_TYPE and size_t.
+       (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
+       (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
+       (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
+       [REL_ALLOC_MMAP]: New macros.
+       (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
+       (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
+       [REL_ALLOC_MMAP]: New functions.
+
+       * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
+       before and after unexec.
+
+       * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
+       text buffers if necessary.
+
+       * buffer.h (R_ALLOC_DECLARE): Removed because unused.
+       (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
+       in prototypes.
+
+       * config.in (HAVE_MMAP): Add #undef.
+
+2000-09-05  Gerd Moellmann  <gerd@gnu.org>
+
+       * frame.c (Qdisplay_type): New variable.
+       (syms_of_frame_1): Initialize it.
+       (Fframe_parameter): New function that avoids consing.
+       (syms_of_frame): Defsubr it.
+
+       * buffer.c (Fother_buffer): Consider buffers as invisible when
+       they are displayed in a window on an invisible frame.
+
+       * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
+       get-largest-window always return nil.
+
+2000-09-04  Gerd Moellmann  <gerd@gnu.org>
+
+       * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
+       variable; recognize Emacs 19 elc files.
+
+2000-09-04  Miles Bader  <miles@gnu.org>
+
+       * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
+       before initially popping up the menu, so the menu doesn't flash
+       when the face settings are significantly different from the defaults.
+
+2000-09-04  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.c (WIDE_CHAR_SUPPORT): New macro.
+       (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
+       (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
+       (BIT_UNIBYTE): Remove.
+       (re_match_2_internal): Delete corresponding code and streamline the
+       BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
+       (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
+       (re_wctype_t): New type.
+       (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
+       (regex_compile): Use them and fix handling of overly long char classes.
+
+2000-09-03  Andrew Innes  <andrewi@gnu.org>
+
+       * makefile.w32-in: Change to DOS line endings.
+
+       * s/ms-w32.h (ORDINARY_LINK): New define.
+
+       * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
+       (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
+
+       * makefile.w32-in (clean): Don't delete config.h and epaths.h.
+       (distclean): Delete them here instead.
+
+       * w32proc.c (compare_env): Convert to uppercase for comparison,
+       not lowercase, to match how the native Windows shell works.
+
+2000-09-03  Jason Rumney  <jasonr@gnu.org>
+
+       * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
+       CVS changes the line-ends when checking in/out on DOS/Windows.
+
+       * makefile.nt (emacs): Do not change directory to run temacs, as
+       the load-path is set relative to current directory.
+
+2000-09-03  Miles Bader  <miles@gnu.org>
+
+       * xterm.c (x_alloc_lighter_color_for_widget): New function.
+
+2000-09-02  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (redisplay_mode_lines): New function.
+       (display_mode_lines): Return number of mode lines displayed.
+       (echo_area_display): Use redisplay_mode_lines to draw garbaged
+       mode lines.  Don't temporarily bind redisplay-dont-pause to t.
+
+       * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
+       string.h and strings.h.
+       (index) [HAVE_INDEX]: Add prototype.
+
+       * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
+       (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
+
+       * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
+       (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
+
+2000-09-01  Gerd Moellmann  <gerd@gnu.org>
+
+       * lread.c (read1): Accept `?' as symbol constituent, for
+       compatiblity with XEmacs.
+
+2000-08-31  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
+       (struct re_pattern_buffer): Remove newline_anchor.
+       * regex.c: Keep namespace clean for GNU libc by renaming <fun>
+       to __<fun> and using `weak_alias (__<fun>, <fun>)'.
+       (re_max_failures, fail_stack): Use size_t rather than unsigned.
+       (regex_compile): For ^ and $, choose between buffer and line (beg|end)
+       depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
+       (print_compiled_pattern, re_search_2, mutually_exclusive_p)
+       (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
+       Get rid of references to newline_anchor.
+       (regcomp): Allocate and precompute a fastmap.
+
+2000-08-31  Gerd Moellmann  <gerd@gnu.org>
+
+       * lread.c (openp): GCPRO local variable `filename'.
+
+2000-08-30  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
+
+       * regex.c: Merge some changes from GNU libc.  Add prototypes.
+       (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
+       Use memcmp and memcpy instead of bcopy and bcmp.
+       (init_syntax_once): Use ISALNUM.
+       (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
+       (REG_UNSET_VALUE): Remove.  Use NULL instead.
+       (REG_UNSET, re_match_2_internal): Use NULL.
+       (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
+       New macros.
+       (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
+       (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
+       (regex_compile): In handle_interval, return an error rather than try to
+       unfetch the interval if we can't find the closing brace.
+       Obey the RE_NO_GNU_OPS syntax bit.
+       (TOLOWER): New macro.
+       (regcomp): Use it.
+       (regexec): Allocate regs.start and regs.end as one block.
+
+2000-08-30  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (echo_area_display): Check display_completed instead
+       of calling detect_input_pending.
+
+       * dispnew.c (update_frame): Only set display_completed here; move
+       the update_begin and update_end calls here from update_frame_1.
+       (update_frame_1): Don't set display_completed here, don't call
+       update_begin/update_end.
+
+       * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
+       instead of store_frame_param.
+
+2000-08-29  Gerd Moellmann  <gerd@gnu.org>
+
+       * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
+       desired window matrix hasn't been displayed, use the current row
+       instead.  Make sure that only those frame rows are updated for
+       which there exists a corresponding enabled desired row.
+
+2000-08-29  Miles Bader  <miles@gnu.org>
+
+       * xfaces.c (default_face_vector): New function.
+       (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
+
+2000-08-29  Gerd Moellmann  <gerd@gnu.org>
+
+       * lread.c (openp): Prevent temporary string passed to
+       Ffile_readable_p from being garbage collected.
+
+2000-08-28  Dave Love  <fx@gnu.org>
+
+       * keymap.c (store_in_keymap): Add `static' to declaration.
+
+2000-08-28  Gerd Moellmann  <gerd@gnu.org>
+
+       * emacs.c, callint.c, doc.c, editfns.c
+       (toplevel) [HAVE_STRING_H]: Include string.h.
+       (toplevel) [HAVE_STRINGS_H]: Include strings.h.
+       (index): Remove prototypes which might conflict with non-standard
+       definitions of index/strchr.
+
+       * s/usg5-3.h (index): Define only if not HAVE_INDEX.
+       (rindex): Define only if !HAVE_RINDEX.
+
+       * s/sco5.h (bcopy, bzero, bcmp): Don't define.
+
+       * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
+
+2000-08-28  Miles Bader  <miles@gnu.org>
+
+       * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
+       made inconsistent by a font-related attribute in FROM.
+       (merge_face_inheritance): Add function comment.
+
+2000-08-28  Kenichi Handa  <handa@etl.go.jp>
+
+       * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
+       the 4th arg (PREV_EVENT) Qt to suppress input method.
+
+2000-08-27  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.c: Indent cpp directives and remove parens after `defined'.
+       (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
+       (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
+       (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
+       (re_compile_pattern): Use size_t for length.
+       (init_syntax_once): Move to a better place.
+       * regex.h: Merge changes from GNU libc.  Indent cpp directives.
+       (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
+
+       * syntax.c (back_comment): Detect cases where a comment-starter is
+       actually inside another comment as in:   /* a // b */ c // d \n.
+       Make it clear that `comstart_pos' is unused for nested comments.
+
+       * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
+       (KEYMAPP): New macro.
+       (Fkeymap_parent, Fset_keymap_parent): Use it.
+       (fix_submap_inheritance): Mark it static.
+       (define_as_prefix, describe_buffer_bindings, describe_command)
+       (describe_translation, describe_map): Complete prototypes.
+
+       * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
+
+       * keyboard.c (menu_bar_item): Detect duplicate entries for all items
+       to better match the key-lookup behavior.
+
+2000-08-27  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (lface_fully_specified_p): Handle :inherit.
+       (Finternal_set_lisp_face_attribute): Fix typo in error message.
+
+2000-08-27  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
+       (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
+       (xterm.o): Depend on coding.h
+
+2000-08-26  Kenichi Handa  <handa@etl.go.jp>
+
+       * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
+       the corresponding '#endif'.
+
+2000-08-26  Miles Bader  <miles@gnu.org>
+
+       * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
+       * xfaces.c (QCinherit): New variable.
+       (syms_of_xfaces): Initialize it.
+       (LFACE_INHERIT): New macro.
+       (Finternal_get_lisp_face_attribute)
+       (merge_face_vector_with_property)
+       (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
+       (check_lface_attrs): Allow new types of face height.  Check
+       inherit attribute.
+       (CYCLE_CHECK): New macro.
+       (merge_face_inheritance): New function.
+       (merge_face_vectors): Merge inherited faces too.  Add F and
+       CYCLE_CHECK arguments.
+       (merge_face_vector_with_property, Finternal_merge_in_global_face)
+       (lookup_named_face, lookup_derived_face, realize_named_face)
+       (face_at_string_position, face_at_buffer_position):  Supply
+       new F and CYCLE_CHECK arguments to merge_face_vectors.
+       (merge_face_heights): New function.
+       (merge_face_vectors, merge_face_vector_with_property)
+       (Finternal_set_lisp_face_attribute): Call merge_face_heights to
+       handle relative face heights.
+       (lface_same_font_attributes_p): Compare heights using EQ.
+
+2000-08-26  Kenichi Handa  <handa@etl.go.jp>
+
+       * charset.c (char_to_string): Check the character validity.
+       (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
+
+2000-08-25  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.c (PUSH_FAILURE_COUNT): New macro.
+       (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
+       Handle popping of a register's or a counter's data.
+       (POP_FAILURE_POINT): Use the new name.
+       (re_match_2_internal): Push counter data on the stack for succeed_n,
+       jump_n and set_number_at and remove misleading dead code in succeed_n.
+
+2000-08-25  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (redisplay_internal): If considering all windows on all
+       frames, update the display for each frame as soon as possible,
+       instead of first building all desired matrices for all frames, and
+       then updating them all.
+       (try_cursor_movement): Handle case that last_cursor.vpos is -1.
+
+2000-08-24  Gerd Moellmann  <gerd@gnu.org>
+
+       * bytecode.c (mark_byte_stack): Add a comment.
+
+       * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
+       (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
+       a graphical frame.
+
+2000-08-24  Kenichi Handa  <handa@etl.go.jp>
+
+       * minibuf.c (do_completion): Always use compare-string, not
+       string-equal because the latter doesn't pay attention to
+       multibyteness of strings.
+
+       * process.c (create_process): Don't setup raw-text coding here.
+       (Fopen_network_stream): Don't set coding->src_multibyte and
+       coding->dst_multibyte here.
+       (read_process_output): For process filter, return unibyte string
+       if default-enable-multibyte-characters is nil.
+       (send_process): If OBJECT is multibyte text, be sure to encoded it
+       by the specified coding system for the process.  Otherwise, setup
+       raw-text coding.
+       (init_process): Don't initialize default-process-coding-system here.
+
+2000-08-23  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
+       <scroll-down-aggressively>: Likewise.
+
+2000-08-23  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (encode_eol): Fix bug for the case of dst_bytes being
+       zero.  Set coding->produced_char correctly.
+
+2000-08-22  Andrew Innes  <andrewi@gnu.org>
+
+       * makefile.w32-in: New file.
+
+       * unexw32.c (unexec): Ignore old_name, and use the actual location
+       of the current executable instead.  Base new_name on this.
+
+       * w32proc.c (create_child): Remove reference to security
+       descriptor, which isn't needed and doesn't compile with mingw32.
+
+       * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
+       up dllimport attributes.
+       (x_update_window_end): Update prototype.
+
+       * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
+       extern, which screws up dllimport attributes.
+
+       * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
+       up dllimport attributes.
+
+       * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
+       screws up dllimport attributes.
+
+       * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
+       up dllimport attributes.
+       (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
+       screws up dllimport attributes.
+
+       * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
+       up dllimport attributes.
+
+       * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
+       screws up dllimport attributes.
+
+       * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
+       screws up dllimport attributes.
+
+       * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
+       up dllimport attributes.
+
+       * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
+       unnecessary extern, which screws up dllimport attributes.
+       (main): Ditto.
+
+       * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
+       up dllimport attributes.
+
+       * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
+       unnecessary extern, which screws up dllimport attributes.
+
+       * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
+       screws up dllimport attributes.
+
+       * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
+       up dllimport attributes.
+
+       * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
+
+       * w32bdf.c (search_file_line):
+       (set_bdf_font_info):
+       (seek_char):
+       (w32_get_bdf_glyph):
+       (w32_BDF_to_x_font): Fix compile warnings.
+
+       * w32menu.c: Include keyboard.h before frame.h.  Fix compile warnings.
+
+       * w32select.c: Include keyboard.h before frame.h.
+
+       * w32fns.c (max): Define macro.
+       (JOHAB_CHARSET): Define if not known.
+       (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
+       (Fx_show_tip): Synch with X version.
+
+       * w32xfns.c: Include keyboard.h before frame.h.
+
+       * w32fns.c: Include keyboard.h before frame.h.
+
+       * w32term.c: Include keyboard.h before frame.h.
+
+       * fontset.c: Include keyboard.h before frame.h.
+
+       * w32inevt.c: Include keyboard.h before frame.h.
+       (MOUSE_MOVED): Define if not known.
+
+       * minibuf.c: Include keyboard.h before frame.h.
+
+       * keyboard.c: Include keyboard.h before frame.h.
+
+       * indent.c: Include keyboard.h before frame.h.
+
+       * dispnew.c: Include keyboard.h before frame.h.
+
+       * buffer.c: Include keyboard.h before frame.h.
+
+       * alloc.c: Include keyboard.h before frame.h.
+
+       * print.c: Include keyboard.h before frame.h.
+
+       * process.c: Include keyboard.h before frame.h.
+
+       * scroll.c: Include keyboard.h before frame.h.
+
+       * sysdep.c: Include keyboard.h before frame.h.
+
+       * term.c: Include keyboard.h before frame.h.
+
+       * window.c: Include keyboard.h before frame.h.
+
+       * xdisp.c: Include keyboard.h before frame.h.
+       Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
+
+       * frame.c: Include keyboard.h before frame.h.
+
+       * w32heap.h: Undefine min, max.
+
+       * w32gui.h: Undefine min, max.
+
+       * unexw32.c: Change PUCHAR to PCHAR.
+       (PTR_TO_OFFSET): Cast ptr to unsigned char *.
+       (relocate_offset):
+       (get_section_info):
+       (copy_executable_and_dump_data): Remove unnecessary static defs.
+       (copy_executable_and_dump_data): Fix compile warnings.
+
+       * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
+
+       * w32console.c (min): Define macro.
+       (clear_frame, write_glyphs): Fix compile warning.
+
+       * w32proc.c (compare_env):
+       (find_child_console): Fix compile warning.
+
+       * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr.  Use
+       sys_errlist instead of _sys_errlist.
+       (get_emacs_configuration_options): New function.
+
+       * s/ms-w32.h (sys_nerr): Provide default definition.
+       (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
+       name with _ prepended.
+       (NSIG): Define if not known.
+       (get_emacs_configuration): Provide extern declaration.
+       (get_emacs_configuration_options): Provide extern declaration.
+       (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
+
+       * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
+       (map_w32_filename):
+       (read_unc_volume): Fix compile warning.
+
+       * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
+       definitions from being used.
+
+       * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
+
+       * w32.c (unc_volume_file_attributes):
+       (open_unc_volume): Make arg const.
+
+       * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
+       (read_input_waiting): Remove excess parameter.
+
+       * w32.c (init_environment): Call _access.
+       (check_windows_init_file): Call _close.
+       (init_user_info): Call _putenv.
+       (init_environment): Call _putenv and _strdup.
+       (init_ntproc): Reset volume info cache on startup.
+
+       * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
+       USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
+       cannot override the CRT malloc.
+
+       * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
+       (LINK_FLAGS): Append to original value of LINK_FLAGS.
+
+       * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
+       unless we are linking with a static CRT.
+       (RVA_TO_PTR): Cast result to unsigned char*.
+
+       * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
+       (add_volume_info): Use xstrdup.
+
+2000-08-22  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
+       (do_completion, Fminibuffer_complete_word): Use it.
+       (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
+       var so it can take non-boolean values.
+
+2000-08-21  Gerd Moellmann  <gerd@gnu.org>
+
+       * editfns.c (find_field): Formatting changes.
+       (toplevel): Some old-style function forward declarations
+       changed to prototypes, some new protypes added, some functions
+       made static.
+
+       * lisp.h (set_time_zone_rule): Add prototype.
+       (use_dialog_box): External declaration.
+
+       * keyboard.c (gen_help_event): Add parameter SIZE.
+       (kbd_buffer_events_waiting): Slightly rewritten.
+       (clear_event): New function.
+       (kbd_buffer_get_event): Use it, and clear the input_events of
+       HELP_EVENTs.
+       (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
+       don't fill the newly created array with nils.
+       (toplevel): Convert some old-style function forward declarations
+       to prototypes.
+
+       * keyboard.h (gen_help_event): Change prototype.
+
+       * xterm.c (XTread_socket): Change calls to gen_help_event.
+
+       * w32term.c (w32_read_socket): Change calls to gen_help_event.
+
+       * eval.c (Fmacroexpand): Doc fix.
+
+2000-08-20  Jason Rumney  <jasonr@gnu.org>
+
+       * w32term.h (x_display_info_for_display): Remove as this function
+       does not exist on W32.
+
+       * w32term.c (help_echo_window): New variable.
+       (syms_of_w32term): staticpro it.
+       (note_mode_line_highlight): Set it.
+       (XTextExtents16): Removed as there is no equivalent on W32.
+       (x_compute_glyph_string_overhangs): Incomplete body removed, as
+       the X way of doing this will not work for W32.
+       (w32_intersect_rectangles): Removed. Use IntersectRect API call.
+       (x_draw_image_foreground):  Avoid drawing outside of the clip area
+       when image doesn't have a mask.
+       (note_mouse_highlight): Process overlays in the right order of
+       priority. Set help_echo_window.
+       (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
+       because that's more visible for large images.
+
+       * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
+       name to single_keymap_panes.
+       (w32_menu_show): Set wv->title when dealing with titles.
+       (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
+
+2000-08-21  Miles Bader  <miles@gnu.org>
+
+       * minibuf.c (do_completion): Try again if we rewrite the input
+       string, but no completion was done, so that any completion message
+       will be correct.
+
+2000-08-20  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (lface_equal_p): Compare strings differently.
+       (Qtty_color_alist, Vtty_defined_color_alist): New variables.
+       (realize_tty_face): Use them.
+       (syms_of_xfaces): Initialize new variables.
+       (map_tty_color): New function, extracted from realize_tty_face.
+       (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
+       foreground or background color, store the new color name in the
+       realized face; previous code trying to do this had no effect.
+       (realize_tty_face): Use map_tty_color.
+       (Fclear_face_cache): Set face_change_count and ensure thorough
+       redisplay.
+
+2000-08-19  Gerd Moellmann  <gerd@gnu.org>
+
+       * undo.c (record_first_change, record_marker_adjustment): Don't
+       use XBUFFER on last_undo_buffer which might not be a buffer.
+
+2000-08-18  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (decode_coding_string): Set members consumed,
+       consumed_char, produced, produced_char of *coding correctly.  If
+       decode_coding doesn't consume any byte, don't try anymore.
+       (encode_coding_string): Likewise.
+
+2000-08-18  Gerd Moellmann  <gerd@gnu.org>
+
+       * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
+       conditional have void type, for Standard C compilers.
+
+       * xdisp.c (redisplay_internal): Compare windows for equality with
+       EQ, instead of applying XWINDOW to something that might not
+       be a window.
+
+2000-08-18  Kenichi Handa  <handa@etl.go.jp>
+
+       * fontset.c (Finternal_char_font): Search only the selected frame
+       for a window of the current buffer.
+
+2000-08-18  Gerd Moellmann  <gerd@gnu.org>
+
+       * minibuf.c (do_completion): Use EQ instead of `!=' to compare
+       Lisp_Objects.
+
+       * keyboard.c (kbd_buffer_get_event): Handle the case that the
+       second half of a HELP_EVENT is found at the start of kbd_buffer.
+
+2000-08-18  Miles Bader  <miles@gnu.org>
+
+       * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
+
+       * editfns.c (save_restriction_save): Rewrite to use markers.
+       (save_restriction_restore): Rewrite to understand new form of data
+       saved by save_restriction_save.
+       (Fsave_restriction): Remove cautionary note in doc-string.
+
+2000-08-17  Gerd Moellmann  <gerd@gnu.org>
+
+       * fileio.c (build_annotations): Add a comment explaining the
+       return value of format-annotate-function.  Replace a spurious call
+       to Flength with a CONSP test.  Call format-annotate-function with
+       a fifth arg specifying how many times the function is been called
+       in a row, to let it choose temporary buffers appropriately.
+
+2000-08-17  Dave Love  <fx@gnu.org>
+
+       * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL.  Don't
+       declare make_temp_name twice.
+
+       * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
+       (unreadpure): Give it an arg.
+
+       * unexalpha.c: Prototype fatal_unexec, mark_x,
+       update_dynamic_symbols.  Declare unexec as void.
+
+       * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
+       [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
+
+       * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
+       [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
+
+       * alloca.c: Use #error.
+       [POINTER_TYPE]: Use it.
+
+       * eval.c (Fdefvar): Doc fix.
+
+       * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
+       INITIALIZE_INTERVAL.
+
+       * buffer.h: Avoid DECLARE_INTERVALS.
+
+       * config.in: Add size_t.
+
+2000-08-17  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * w16select.c (set_clipboard_data): If there's not enough memory
+       to put text into clipboard, return 1, as Fw16_set_clipboard_data
+       expects.  In case of other failures, return 3.
+       (system_error_msg): New error message.
+       (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
+       system_error_msg.
+
+2000-08-16  Gerd Moellmann  <gerd@gnu.org>
+
+       * term.c (write_glyphs): Also turn off inverse video after turning
+       off other appearances in case TS_exit_attribute_mode is not equal
+       to TS_end_standout_mode.
+       (insert_glyphs): Turn inverse video on/off for each run of glyphs
+       with the same face.
+       (turn_off_face): Reset standout_mode only if
+       TS_exit_attribute_mode has been output and TS_exit_attribute_mode
+       is equal to TS_end_standout_mode.
+
+2000-08-16  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (encode_coding): Fix the bug of not flushing ISO escape
+       sequence at the end of the source block.
+
+       * ccl.c (Fccl_program_p): Docstring modified.
+       (Fccl_execute): Likewise.
+       (Fccl_execute_on_string): Likewise.
+
+2000-08-16  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
+
+2000-08-16  Kenichi Handa  <handa@etl.go.jp>
+
+       The following changes are mainly to fix bugs of
+       encode/decode-coding-string failing if encoding/decoding return
+       CODING_FINISH_INSUFFICIENT_DST.  In addition, delete the global
+       variable conversion_buffer.
+
+       * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
+       decrement dst_end to avoid buffer overflow in the later call of
+       string_as_multibyte
+
+       * coding.h (conversion_buffer_size, conversion_buffer)
+       (get_conversion_buffer): Extern deleted.
+
+       * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
+       (conversion_buffer, conversion_buffer_size): Variables deleted.
+       (get_conversion_buffer): Function deleted.
+       (struct conversion_buffer): New structure.
+       (MAX_ALLOCA): New macro.
+       (allocate_conversion_buffer): New macro.
+       (extend_conversion_buffer, free_conversion_buffer): New functions.
+       (ccl_coding_driver): Set coding->result.
+       (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
+       this is the last block of source.
+       (encode_coding): Likewise.  Handle the source block as the last
+       one only when the whole source text is consumed.
+       (decode_coding_string): Handle the case that the output buffer is
+       too small to decode the whole source text.  Use
+       allocate_conversion_buffer, extend_conversion_buffer and
+       free_conversion_buffer, not get_conversion_buffer.
+       (encode_coding_string): Likewise.
+       (init_coding): Function deleted.
+       (init_coding_once): Delete code to initialize conversion_buffer_size.
+
+       * emacs.c (main): Don't call init_coding.
+
+       * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
+
+       * term.c (write_glyphs): Use a locally declared conversion_buffer.
+       (insert_glyphs): Likewise.
+
+       * w32console.c (write_glyphs): Use a locally declared
+       conversion_buffer.
+
+2000-08-15  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
+       member of display_info is NULL.
+
+2000-08-15  Gerd Moellmann  <gerd@gnu.org>
+
+       * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
+
+       * term.c (turn_off_face): Reset standout_mode when resetting
+       appearances with capability `me'.
+       (write_glyphs): Switch on inverse video before each face change.
+
+2000-08-14  Dave Love  <fx@gnu.org>
+
+       * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
+       [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
+       (lisp_free): Declare and make static.
+
+       * window.c: Fix embedded comment.
+       (syms_of_window): Fix doc string.
+
+2000-08-14  Gerd Moellmann  <gerd@gnu.org>
+
+       * keymap.c (push_key_description): If C without modifiers is < 32,
+       make sure to print `C-' before `M-', like in the manual.
+
+2000-08-11  Gerd Moellmann  <gerd@gnu.org>
+
+       * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
+       since they aren't relocated anymore.
+       (sxhash_string): Make sure returned hash code fits in a Lisp integer.
+
+       * xdisp.c (try_cursor_movement): Fix handling of cursor in
+       partially visible line which is smaller than the window's height.
+
+2000-08-11  Kenichi Handa  <handa@etl.go.jp>
+
+       * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
+       the multibyte form of eight-bit-control characters.
+       (Fccl_execute_on_string): Initialize ccl->multibyte.
+
+       * ccl.h (struct ccl_program): New member multibyte.
+
+       * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
+
+2000-08-11  Kenichi Handa  <handa@etl.go.jp>
+
+       * regex.c (regex_compile) <normal_char>: Pay attention to
+       multibyteness.
+       (analyse_first) <exactn>: Setup fastmap correctly for
+       eight-bit-control characters.
+
+2000-08-11  Kenichi Handa  <handa@etl.go.jp>
+
+       * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
+
+       * keyboard.c (make_lispy_event): Handle the new event type
+       multibyte_char_keystroke.
+
+       * xterm.c: Include coding.h.
+       (XTread_socket): Work around a bug of XmbLookupString.  If the
+       input is from XIM, decode it according to the current locale.  In
+       that case, generate multibyte_char_keystroke events.
+
+2000-08-11  Kenichi Handa  <handa@etl.go.jp>
+
+       * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
+       (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
+
+2000-08-10  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
+       (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
+       (move_it_in_display_line_to): Record iterator's ascent and descent
+       before producing glyphs, and restore them when we know the glyph
+       doesn't fit on the line.
+       (move_it_to): Restructured so that it's easier to debug.  If
+       moving to a vpos, and not moving to an x or character position,
+       stop as soon as the specified vpos is reached; don't move further
+       into that line because that might change the computed line height.
+       (try_cursor_movement): New function, extracted from the cursor
+       movement branch of redisplay_window.  If ending on a partially
+       visible line, don't try to scroll if the cursor line is taller
+       than the window.
+       (redisplay_window): Use try_cursor_movement.
+
+       * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
+       because that function doesn't cope with variable-height lines.
+
+       * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
+       box cursor because that's better visible for large images.
+
+2000-08-10  Miles Bader  <miles@gnu.org>
+
+       * w32term.c (note_mouse_highlight): Update calls to overlays_at.
+
+2000-08-10  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (Vmessages_buffer_name): New variable.
+       (message_dolog): Use it.
+       (syms_of_xdisp): Initialize it.
+
+2000-08-10  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
+       (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
+       redundant now that keyboard.h is included.
+
+2000-08-09  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * keyboard.c (kbd_buffer_events_waiting): New function.
+
+       * keyboard.h (kbd_buffer_events_waiting): Add prototype.
+
+       * msdos.c: Include keyboard.h.
+       (XMenuActivate): Empty no_event events from the event buffer.  If
+       no events are left after that, call clear_input_pending.
+       (mouse_clear_clicks): New function, code moved from mouse_init.
+       (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
+       mouse driver to ``forget'' any past clicks.
+
+       * Makefile.in (msdos.o): Depend on keyboard.h.
+
+2000-08-09  Gerd Moellmann  <gerd@gnu.org>
+
+       * lisp.h (input_pending): External declaration.
+
+       * dispextern.h (Qredisplay_dont_pause): Declare extern.
+
+       * xdisp.c (echo_area_display): Display thoroughly if input is
+       pending.  Bind redisplay-dont-pause to t during the redisplay.
+       in case input is pending.
+
+       * dispnew.c (Qredisplay_dont_pause): New variable.
+       (syms_of_display): Initialize and staticpro it.
+       (update_frame_1): Don't interrupt the display for pending input if
+       redisplay_dont_pause is set.
+
+       * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
+
+       * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
+
+2000-08-09  Miles Bader  <miles@lsi.nec.co.jp>
+
+       * callproc.c (Fcall_process): Terminate the unwind-protect around
+       the post-read-conversion of coding system.
+
+       * buffer.c (overlays_at): Add CHANGE_REQ parameter.
+       (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
+       * buffer.h (overlays_at): Update prototype.
+       * xdisp.c (next_overlay_change): Update call to overlays_at.
+       * xfaces.c (face_at_buffer_position): Likewise.
+       * textprop.c (Fget_char_property): Likewise.
+       * xterm.c (note_mouse_highlight): Likewise.
+
+       * minibuf.c (do_completion): Don't consider a simple change of
+       case as `completion'.
+
+2000-08-08  Ken Raeburn  <raeburn@gnu.org>
+
+       * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
+       * undo.c (record_delete): Make sure last_point_position_buffer is
+       a buffer before comparing pointers.
+
+       * coding.h (decode_coding_string): Declare.
+
+       * intervals.h (Fprevious_single_char_property_change): Declare.
+
+       * textprop.c (Fprevious_single_char_property_change): Don't do
+       arithmetic directly on lisp objects.
+
+       * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
+
+       * keyboard.h (menu_item_eval_property): Declare.
+
+       * xdisp.c (message_dolog): Save and protect string "*Messages*" to
+       reuse as buffer name, instead of recreating (and discarding) every
+       time a message is logged.
+       (with_echo_area_buffer): Make callback arg A2 a lisp object.
+       (current_message_1, truncate_message_1, set_message_1)
+       (display_echo_area_1, resize_mini_window_1): Signatures changed.
+       (current_message, truncate_echo_area, display_echo_area)
+       (resize_echo_area_axactly): Changed calls.
+
+       * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
+       Lisp object.
+       (Ffind_coding_systems_region_internal): First argument to Fappend
+       must be an integer, not a Lisp object.
+
+2000-08-08  Kenichi Handa  <handa@etl.go.jp>
+
+       * charset.c (Fchar_width): Doc fix.
+
+2000-08-08  Gerd Moellmann  <gerd@gnu.org>
+
+       * charset.c (Fstring_width): Doc fix.
+
+2000-08-07  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (start_display): When starting display on a continuation
+       line, clear ascent and descent members of the iterator structure;
+       the height of the continued line does not affect the height of the
+       continuation line.
+       (make_cursor_line_fully_visible): Do nothing if cursor is on a
+       line taller than the window.
+       (redisplay_window) <forced window start>: Handle case that the
+       middle of the window is not found in any row.
+       (dump_glyph_row): Show more information.
+       (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
+       first text line in a glyph matrix.
+
+       * xterm.c (x_draw_image_foreground): Avoid drawing outside
+       of the clip area when image doesn't have a mask.
+
+       * fns.c (sweep_weak_table): Fix survival conditions for
+       key-or-value and key-and-value weakness.
+
+       * .gdbinit (xhashtable): New command.
+
+       * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
+       tables out of the list of all weak hash tables.
+
+       * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
+       a new buffer is created, make sure echo_area_buffer[] references
+       the new buffer.
+
+2000-08-07  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
+       the doc string.
+
+2000-08-07  Kenichi Handa  <handa@etl.go.jp>
+
+       * syntax.c (skip_chars): Fix previous change.  Make the handling
+       of unibyte string consistent with that of regex search.
+
+2000-08-05  Gerd Moellmann  <gerd@gnu.org>
+
+       * xmenu.c (popup_get_selection): Use xfree instead of free.
+
+       * fileio.c (Finsert_file_contents): Use xfree instead of free.
+
+       * editfns.c (Ftranspose_regions): Use xfree instead of free.
+
+       * callproc.c (child_setup): Use xfree instead of free.
+
+       * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
+       instead of malloc.
+       (run_mac_command, closedir): Use `xfree' instead of `free'.
+
+       * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
+
+       * eval.c (error): Use xfree instead of free.
+
+       * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
+
+       * fns.c: Replace `illegal' with `invalid'.
+       (Fmake_hash_table, make_hash_table): Allow table size of 0.
+
+2000-08-05  Kenichi Handa  <handa@etl.go.jp>
+
+       * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
+       conversion.
+
+2000-08-04  Noah Friedman  <friedman@splode.com>
+
+       * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
+       docstring.
+
+2000-08-04  Gerd Moellmann  <gerd@gnu.org>
+
+       * syntax.c (skip_chars): Fix typo in error message.
+
+2000-08-04  Andreas Schwab  <schwab@suse.de>
+
+       * m/ia64.h: Moved from s/ia64.h.
+
+2000-08-04  Kenichi Handa  <handa@etl.go.jp>
+
+       * process.c (read_process_output): Big simplification.  Handle
+       composition and post-read-conversion of coding system correctly.
+       (send_process): Handle composition correctly.
+
+       * callproc.c (Fcall_process): Handle post-read-conversion of
+       coding system if any.
+
+       * coding.c (decode_coding_iso2022): More strict check for handling
+       single shifting.
+       (coding_restore_composition): Pay attention to the case that
+       cmp_data is not set properly (because of invalid code in the
+       source text).
+       (run_pre_post_conversion_on_str): Include text properties in the
+       resulting string.
+       (decode_coding_string): Set members of coding correctly.
+
+2000-08-03  Gerd Moellmann  <gerd@gnu.org>
+
+       * s/ia64.h: New file.
+
+       * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
+       Use NULL instead of 0 at the end of variable argument list of
+       XtVaGetValues and XtVaSetValues, because 0 fails on systems where
+       sizeof (int) < sizeof (void *).
+
+       * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
+       of variable argument lists of XtVaGetValues and XtVaSetValues.
+
+       * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
+       variable argument lists of XtVaGetValues and XtVaSetValues.
+
+2000-08-02  Gerd Moellmann  <gerd@gnu.org>
+
+       * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
+       (xrealloc, xmalloc): Use size_t.  Some callers adjusted.
+
+       * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
+       prototype.
+
+       * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
+       in call to Fsingle_key_description.
+
+       * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
+       Callers changed.
+
+2000-08-02  Colin Walters <walters@cis.ohio-state.edu>
+
+       * window.c (display_buffer_reuse_frames): New variable.
+       (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
+       frames displaying BUFFER.
+       (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
+
+2000-08-01  Miles Bader  <miles@gnu.org>
+
+       * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
+       when to constrain NEW_POS (they were pretty screwed up before).
+
+2000-07-31  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (run_msdos_command): Save and restore the master
+       environment, for the case that child_setup signals an error.
+       When mirroring slashes in DOS shell commands, don't fail when
+       argv[2] has embedded blanks.
+       (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
+       (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
+       (dos_ttraw): Call mouse_setup_buttons.
+
+       * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
+       using alloca; free it after run_msdos_command returns.
+
+2000-07-27  Dave Love  <fx@gnu.org>
+
+       * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
+       [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
+
+       * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
+
+2000-07-27  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * editfns.c (lisp_time_argument): Fix last change.
+
+2000-07-27  Gerd Moellmann  <gerd@gnu.org>
+
+       * fns.c (Fdelete): Make it work on vectors and strings in addition
+       to lists.
+
+       * fns.c (Qkey_or_value, Qkey_and_value): New variables.
+       (syms_of_fns): Initialize new variables.
+       (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
+       (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
+       weakness, with t meaning the same as `key-and-value'.
+
+2000-07-27  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.h (struct coding_system): Member safe_charset deleted.
+
+       * coding.c (Qsafe_charsets): This variable deleted.
+       (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
+       New variables.
+       (coding_safe_chars): New function.
+       (CODING_SAFE_CHAR_P): New macro.
+       (CHARSET_OK): New arg C.  Call CODING_SAFE_CHAR_P instead of
+       checking safe_charsets member of the coding system.  Caller changed.
+       (detect_coding_iso2022): New local variable safe_chars.
+       (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
+       safe_charsets member of the coding system.
+       (decode_coding_iso2022): New local variable safe_chars.
+       (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
+       (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
+       (ENCODE_ISO_CHARACTER): Arguments changed.  Caller changed.
+       (ENCODE_UNSAFE_CHARACTER): New macro.
+       (encode_coding_iso2022): New local variable safe_chars.  Check
+       unsafe chars.
+       (setup_coding_system): Delete the code to initialize
+       coding->safe_charses
+       (intersection, find_safe_codings): New functions.
+       (Ffind_coding_systems_region_internal): New function.
+       (syms_of_coding): Defsubr it.  Initialize Qsafe_chars,
+       Qsafe_cding_system.  Make Vchar_coding_system_table a Lisp
+       variable and initialize it.
+
+       * fns.c (char_table_ref_and_index): New function.
+
+       * lisp.h (char_table_ref_and_index): Add prototype.
+
+2000-07-26  Sam Steingold  <sds@gnu.org>
+
+       * editfns.c (lisp_time_argument): Added third argument `usec'.
+       (Ffloat_time): New built-in Lisp function.
+
+2000-07-26  Gerd Moellmann  <gerd@gnu.org>
+
+       * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
+       for the character code.
+
+       * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
+       GNU/Linux.
+
+       * xmenu.c (menu_highlight_callback): Call show_help_echo directly
+       if called for a popup menu.
+       (xmenu_show): Store help string in widget values.
+
+2000-07-26  Dave Love  <fx@gnu.org>
+
+       * syswait.h: Move some definitions.
+       (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
+       [!HAVE_SYS_WAIT_H]: Define things unconditionally.   More
+       perspicuous definitions.
+       (WTERMSIG): Fix bit pattern used.
+
+2000-07-26  Kenichi Handa  <handa@etl.go.jp>
+
+       * print.c (print_object): If vector printing is truncated, print
+       "..." to indicate it as well as the case of list printing.
+
+2000-07-25  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (next_element_from_display_vector): Improve comments.
+
+       * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
+       for the character code, and the rest for the face id as in 20.x.
+       (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
+
+       * window.c (window_display_table): Cleaned up.
+
+       * syntax.c (Fforward_word): Add last arg nil in call of
+       Fconstrain_to_field.
+
+2000-07-25  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * fileio.c (Frename_file) [DOS_NT]: If the file names are
+       identical but for the letter-case, don't call
+       barf_or_query_if_file_exists.
+
+2000-07-25  Miles Bader  <miles@gnu.org>
+
+       * editfns.c (find_field): Honor special `boundary' fields.
+       (Qboundary): New variables.
+       (syms_of_editfns): Initialize Qboundary.
+       (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
+       Use scan_buffer instead of find_before_next_newline, because it
+       allows us to detect the boundary case where there's a newline at
+       the search limit.
+       * lisp.h (Fconstrain_to_field): Update external declaration.
+
+2000-07-24  Gerd Moellmann  <gerd@gnu.org>
+
+       * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
+       if that is nil.
+
+2000-07-24  Dave Love  <fx@gnu.org>
+
+       * s/sunos4-0.h, s/sol2.h:
+       (LIBS_TERMCAP): Move from m/sparc.h.
+
+       * m/sparc.h (TERMINFO): Moved to system files (probably only
+       relevant for sunos4 judging by its vintage).
+       (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
+       __arch64__.
+
+2000-07-24  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
+       name to single_keymap_panes.
+
+2000-07-24  Andreas Schwab  <schwab@suse.de>
+
+       * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
+
+2000-07-24  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
+       parameters instead of using int parameters.  Expect FN to accept
+       EMACS_INT parameters.
+       (display_echo_area, resize_echo_area_axactly, current_message)
+       (truncate_echo_area, set_message_1): Call with_echo_area_buffer
+       with new argument list.
+       (resize_mini_window_1): New callback function.
+       (current_message_1, truncate_message_1, set_message_1): Change
+       parameter lists to the new format expected by with_echo_area_buffer.
+
+2000-07-24  Kenichi Handa  <handa@etl.go.jp>
+
+       * fontset.c (fontset_ref): Remove INLINE declaration.
+       (fontset_ref_via_base): Likewise.
+       (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
+       to downcase.
+
+2000-07-23  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (IT_note_mouse_highlight): Process overlays in the
+       correct order of priority.  If help echo was found in an overlay,
+       use that overlay as the object in which the help echo was found.
+
+2000-07-22  Miles Bader  <miles@gnu.org>
+
+       * textprop.c (Fprevious_single_char_property_change): The initial
+       property value should be from the position preceding POSITION, not
+       following it.
+
+2000-07-22  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * coding.c (syms_of_coding): Doc fix for
+       inhibit-iso-escape-detection.
+
+2000-07-21  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (note_mouse_highlight): Process overlays in the right
+       order of priority.
+
+       * keyboard.c (show_help_echo, gen_help_event): Extend comments.
+
+       * xterm.c (note_mouse_highlight): If help-echo was found in an
+       overlay, use that overlay as the object in which the help was found.
+
+       * window.c (foreach_window_1): Fix typo reversing an if-condition.
+
+       * window.c (foreach_window): Instead of a fake variable argument
+       list, take one USER_DATA argument.
+       (foreach_window_1): Likewise, and call callback functions with two
+       args, the window and USER_DATA.
+       (struct check_window_data): New struct.
+       (check_window_containing): Use it.
+       (window_from_coordinates): Set up a struct check_window_data for
+       foreach_window.
+       (add_window_to_list, freeze_window_start): Change parameters
+       according to new calling convention.
+
+       * window.h (foreach_window): Change prototype.
+
+       * buffer.c (Fprevious_overlay_change): Avoid memory leak.
+
+2000-07-21  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * xmenu.c (menu_help_callback): Call show_help_echo with
+       additional arguments OBJECT and POS.
+
+2000-07-21  Kenichi Handa  <handa@etl.go.jp>
+
+       * data.c (Faset): Allow storing any multibyte character in a
+       string.  Convert unibyte string to multibyte if necessary.
+
+       * xfns.c (x_encode_text): New function.
+       (x_set_name): Use x_encode_text.
+       (x_set_title): Likewise.
+
+       * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
+
+       * xterm.h (x_encode_text): Add prototype.
+
+2000-07-20  Dave Love  <fx@gnu.org>
+
+       * ccl.c (Fccl_execute_on_string): Don't check xmalloc return.  Use
+       xfree, not free.
+
+2000-07-20  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (help_echo_window): New variable.
+       (syms_of_msdos): Initialize and staticpro it.
+       (IT_note_mode_line_highlight): Set help_echo_window.
+       (IT_note_mouse_highlight): Ditto.
+       (dos_rawgetc): Store help_echo_window in the second event produced
+       for HELP_EVENTs.
+
+       * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
+       Record the object that generated the help echo and the position of
+       that object in help_echo_object and help_echo_pos.  Record that
+       some glyphs in a row are displayed in mouse-face.
+       (IT_update_begin): Don't clear mouse highlight unless one of the
+       enabled glyph rows is marked as being displayed in mouse-face.
+       (dos_rawgetc): Generate 2 events for HELP_EVENT.  Pass the object
+       and position recorded in help_echo_object and help_echo_pos to the
+       event queue.
+       (IT_menu_display): Accept a new argument PN: the pane number of
+       the current menu pane.  Record the pane number and the item
+       number of the item which has associated help string.
+       (XMenuActivate): Update the prototype for help_callback in
+       function declaration.  Call IT_menu_display with the current menu
+       pane number as an additional argument.  Call help_callback with
+       two additional arguments: the pane number and the item number of
+       the menu item associated with the help text.
+       (help_echo_object, help_echo_pos): New variables.
+       (syms_of_msdos): Initialize them and staticpro help_echo_object.
+
+       * msdos.h (XMenuActivate): Update prototype.
+
+2000-07-19  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
+       Add some more prototypes.
+
+       * xterm.c, xterm.h: Add some more prototypes.
+
+       * lisp.h (Fnext_single_char_property_change): Add prototype.
+
+       * dispnew.c (direct_output_for_insert): Remove confusing
+       outer local variable mouse_face_overwritten_p.
+       (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
+
+       * alloc.c (allocate_string_data): Don't copy old string contents.
+
+2000-07-19  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (code_convert_region): Delete text properties before
+       shrinking the conversion region.
+
+2000-07-18  Gerd Moellmann  <gerd@gnu.org>
+
+       * dispnew.c (update_text_area): Write the whole row if it
+       has mouse-face in it.
+
+       * xfaces.c (face-alternative-font-family-alist): Remove
+       DEFVAR_LISP; staticpro instead.
+
+       * xmenu.c (menu_help_callback): Call show_help_echo with
+       new arguments.
+
+       * keyboard.c (show_help_echo): Add parameter WINDOW.
+       (read_char): Call show_help_echo with window extracted from Lisp
+       help event.
+       (gen_help_event): Add parameter WINDOW.
+
+       * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
+
+       * xterm.c (help_echo_window): New variable.
+       (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
+       (XTread_socket): Pass help_echo_window to gen_help_event.
+       (syms_of_xterm): Initialize and staticpro help_echo_window.
+
+2000-07-18  Dave Love  <fx@gnu.org>
+
+       * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
+
+2000-07-18  Gerd Moellmann  <gerd@gnu.org>
+
+       * alloc.c (allocate_string_data): If string had already data
+       assigned, copy old contents to new string data.
+
+       * coding.c (syms_of_coding): Fix typo in spelling of variable
+       `inhibit-iso-escape-detection'.
+
+       * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
+
+       * Makefile.in: Add dependencies on dispextern.h.
+       (alloca.o): Don't define malloc and define EMACS_FREE instead of
+       `free'; both can conflict with system header files.
+
+2000-07-18  Kenichi Handa  <handa@etl.go.jp>
+
+       * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
+       undefined.
+
+2000-07-18  Dave Love  <fx@gnu.org>
+
+       * window.c (Fwindow_list): Declare arg `window'.
+
+2000-07-18  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (setup_coding_system): Don't override the explicitly
+       specified designations.
+
+2000-07-15  Miles Bader  <miles@gnu.org>
+
+       * editfns.c (char_property_eq, char_property_stickiness): Renamed
+       from `text_property_eq' and `text_property_stickiness', respectively.
+       (find_field, Fconstrain_to_field, char_property_eq)
+       (char_property_stickiness): Changed to call char-property functions
+       instead of text-property-only ones.
+
+       * textprop.c (Fnext_single_char_property_change): Made a subr (was
+       `next_single_char_property_change').  Do more error checking, and
+       cleanup limit behavior.
+       (Fprevious_single_char_property_change): New function.
+       (syms_of_textprop): Initialize new subrs.
+
+       * xdisp.c (display_prop_end, invisible_text_between_p):
+       Call Fnext_single_char_property_change instead of
+       next_single_char_property_change.
+
+2000-07-15  Jason Rumney  <jasonr@gnu.org>
+
+       * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
+       after menu is finished with.
+       (add_menu_item): Only consider wv->title as a menu title.
+       (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
+
+       * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
+       null title.
+       (FONT_REGEXP): Remove unused macro, and its sub-components.
+       (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
+
+       * w32term.c (help_echo_object, help_echo_pos): New variables.
+       (note_mode_line_highlight): Store additional information about the
+       help-echo in help_echo_object and help_echo_pos.  Check both
+       `local-map' and `keymap' properties for changing the cursor
+       (note_mouse_highlight): Store additional information about the
+       help-echo in help_echo_object and help_echo_pos.
+       (note_tool_bar_highlight): Set help_echo_object to nil and
+       help_echo_pos to -1.
+       (w32_read_socket): Use gen_help_event instead of filling
+       input_events manually.
+       (syms_of_w32term): Staticpro help_echo_object.
+       (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
+       set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
+       (x_clear_mouse_face): New function.
+       (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
+       (x_update_window_begin): No need to turn off the mouse
+       highlight here.
+       (show_mouse_face): Set the mouse_face_p flag of glyph rows
+       depending on whether they contain glyphs highlighted in mouse-face.
+       (x_fill_stretch_glyph_string): Consume runs of stretch
+       glyphs instead of a single one.
+       (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
+       with new argument list.
+       (x_set_glyph_string_gc): Make sure the face's GC is valid.
+       (x_append_glyph, x_append_composite_glyph)
+       (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
+       changes in struct glyph starting 1999-12-27. See comments for
+       xterm.c on 2000-07-05.
+
+2000-07-14  Sam Steingold  <sds@gnu.org>
+
+       * xfaces.c (realize_x_face): Fix the last patch:
+       check `default_face' before dereferencing.
+
+2000-07-14  Dave Love  <fx@gnu.org>
+
+       * syntax.c (back_comment): Add null default in switch (for pcc).
+
+2000-07-14  Kenichi Handa  <handa@etl.go.jp>
+
+       * xfaces.c (realize_x_face): Make fontset using the base of the
+       default_face's fontset, not using the default fontset.
+
+       * coding.c (inhibit_iso_escape_detection): New variable.
+       (syms_of_coding): Make it a Lisp variable.
+       (detect_coding_iso2022): If inhibit_iso_escape_detection is
+       nonzero, ignore ISO2022's escape sequence.
+
+2000-07-14  Gerd Moellmann  <gerd@gnu.org>
+
+       * alloca.c (malloc) [emacs]: Define as xmalloc.
+
+       * xfns.c (Fx_show_tip): If frame parameters contain a position,
+       use that instead of the mouse position.  Add parameters DX and DY.
+
+       * dispextern.h (Fx_show_tip): Adjust number of parameters
+       in prototype.
+
+       * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
+       if HELP is a function, call it with OBJECT and POS as parameters
+       to get the help to display.
+       (gen_help_event, kbd_buffer_store_help_event): New functions.
+       (kbd_buffer_get_event): Construct the Lisp help-event differently.
+       (read_char): Call show_help_echo with new parameters.
+
+       * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
+       Add prototypes.
+
+       * xterm.c (help_echo_object, help_echo_pos): New variables.
+       (note_mode_line_highlight): Store additional information about the
+       help-echo in help_echo_object and help_echo_pos.  Check both
+       `local-map' and `keymap' properties for changing the cursor
+       (note_mouse_highlight): Store additional information about the
+       help-echo in help_echo_object and help_echo_pos.
+       (note_tool_bar_highlight): Set help_echo_object to nil and
+       help_echo_pos to -1.
+       (XTread_socket): Use gen_help_event instead of filling
+       input_events manually.
+       (syms_of_xterm): Staticpro help_echo_object.
+
+       * xmenu.c (menu_highlight_callback): Use
+       kbd_buffer_store_help_event instead of setting up and input_event
+       structure manually.
+
+       * xdisp.c (eval_form): GCPRO argument sexpr.
+       (call_function): New function.
+       (handle_single_display_prop): Use call_function and FUNCTIONP
+       instead of checking whether if font_height is a symbol and
+       using eval_form.
+
+       * eval.c (internal_condition_case_2): New function.
+
+       * lisp.h (FUNCTIONP): New macro.
+       (internal_condition_case_2, call_function): Add prototypes.
+
+       * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
+       (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
+       Always set `arg' member of input_events.
+       (construct_menu_click): Unused function removed.
+
+       * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
+
+       * w32term.c (construct_mouse_click, construct_mouse_wheel)
+       (construct_drag_n_drop, x_scroll_bar_handle_click)
+       (w32_read_socket): Always set `arg' member of input_events.
+
+       * keyboard.c (show_help_echo): Use eval_form.  Add comment.
+
+       * lisp.h (eval_form): Add prototype.
+
+       * xdisp.c (eval_form): Make it externally visible.
+
+2000-07-13  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_handle_tool_bar_click): Store the frame in the
+       frame_or_window slot of TOOL_BAR_EVENT input events instead of
+       consing.  For prefix events, store the frame in the `arg' slot of
+       the event, otherwise store the key there.
+       (XTread_socket): Instead of consing, use the frame_or_window slot
+       of HELP_EVENTs for the frame, and the `arg' slot for the help string.
+
+       * xmenu.c (menu_highlight_callback): Store help string in the
+       `arg' member of the input event; don't cons.
+       (menubar_selection_callback): Use the `arg' slot of input events
+       to queue additional information, instead of consing.
+
+       * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
+
+       * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
+       TOOL_BAR_EVENTs.
+       (w32_read_socket): Adapt to changes in HELP_EVENTs.
+
+       * w32menu.c (menubar_selection_callback): Use the `arg' slot of
+       input events to queue additional information, instead of consing.
+
+       * keyboard.c (kbd_buffer_gcpro): Renamed from
+       kbd_buffer_frame_or_window.  Now used for all Lisp objects
+       referenced from the input queue.
+       (kbd_buffer_store_event): Always use structure assignment for
+       copying input events.  Record all Lisp objects referenced from
+       events in kbd_buffer_gcpro.
+       (kbd_buffer_get_event): Construct Lisp `help-echo' events
+       differently from input events.  Test for prefix menu_bar_events
+       and TOOL_BAR_EVENTs differently.  Reset all slots used by an input
+       event in kbd_buffer_gcpro to nil.
+       (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
+       frame_or_window is equal to its arg member as prefix events.
+       (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
+       used by an input event to nil.
+       (init_keyboard): Use two times the size of the input queue
+       for kbd_buffer_gcpro.
+       (syms_of_keyboard): Likewise.
+
+       * emacs.c (handle_USR2_signal, handle_USR1_signal):
+       Use USER_SIGNAL_EVENT.
+
+       * termhooks.h (struct input_event): Add member `arg'.
+       (MENU_BAR_EVENT): Renamed from menu_bar_event.
+       (USER_SIGNAL_EVENT): Renamed from user_signal.
+
+       * xfaces.c (ASET): Remove definition.
+
+       * lisp.h (AREF, ASET, ASIZE): New macros.
+
+       * fontset.c (AREF, ASIZE): Remove definitions.
+
+       * fns.c (AREF): Remove definition.
+
+       * composite.c (AREF): Remove definition.
+
+2000-07-12  Gerd Moellmann  <gerd@gnu.org>
+
+       * dispnew.c (redraw_overlapped_rows): Add missing local.
+       (scrolling_window): Remove debug code.
+
+       * xdisp.c (try_window_reusing_current_matrix, try_window_id):
+       Before scrolling, turn off a mouse-highlight in the window
+       being scrolled.
+
+       * xterm.c (x_update_window_end): Add parameter
+       MOUSE_FACE_OVERWRITTEN_P.  If set, arrange for a mouse-highlight
+       redisplay in XTframe_up_to_date.
+       (x_clear_mouse_face): New function.
+       (x_redisplay_interface): Add pointer to x_clear_mouse_face.
+
+       * dispnew.c (make_current): Preserve the mouse_face_p flag of the
+       current glyph row.
+       (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P.  Set
+       it when any row is written to that contains glyphs highlighted in
+       mouse-face.
+       (update_window): Call the window update end hook with new
+       parameter MOUSE_FACE_OVERWRITTEN_P.
+       (direct_output_for_insert): Give up if row contains mouse-face.
+
+       * dispextern.h (struct redisplay_interface): Add parameter
+       MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
+       (clear_mouse_face): New function pointer member.
+
+2000-07-11  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * syntax.c (back_comment): Use one switch rather than a few `if's.
+       Obey open_paren_in_column_0_is_defun_start.
+       When reverting to the `slow' method, try to nicely handle the case
+       of nested comments by checking that the comment-starter we found
+       does indeed match the comment-ender.
+       (scan_sexps_forward, scan_sexps_forward):
+       Ignore excessive opening parenthesis rather than throwing an error.
+
+2000-07-11  Gerd Moellmann  <gerd@gnu.org>
+
+       * doc.c (Fsubstitute_command_keys): Handle case that a GC
+       in Fwhere_is_internal or get_keymap_1 relocates string contents.
+
+       * dispnew.c (direct_output_forward_char): Give up if currently
+       displaying a message instead of the minibuffer contents.
+
+       * xterm.c (x_update_window_begin): No need to turn off the mouse
+       highlight here.
+       (show_mouse_face): Set the mouse_face_p flag of glyph rows
+       depending on whether they contain glyphs highlighted in mouse-face.
+
+       * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P.  If set,
+       compare the mouse_face_p flags of both rows.
+
+       * dispextern.h (struct glyph_row): Add flag mouse_face_p.
+
+2000-07-11  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * keyboard.c (show_help_echo): Accept additional parameter
+       ok_to_overwrite_keystroke_echo.
+       (read_char): Call show_help_echo with a zero
+       ok_to_overwrite_keystroke_echo argument.
+       * keyboard.h (show_help_echo): Update prototype of show_help_echo.
+       * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
+       ok_to_overwrite_keystroke_echo argument.
+       * w32menu.c (w32_menu_display_help): Call show_help_echo with
+       non-zero ok_to_overwrite_keystroke_echo argument.
+
+2000-07-10  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (try_window_id): If changes are all below what is
+       displayed in the window, and point is in the window, we still
+       might have to find point on the display.
+
+       * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
+       glyphs instead of a single one.
+       (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
+       with new argument list.
+       (x_set_glyph_string_gc): Make sure the face's GC is valid.
+
+       * keymap.c (get_keymap_1): Add comment that this function can GC.
+       (where_is_internal_2, where_is_internal_1): Add GCPROs, add
+       comment that functions can GC.
+       (Fset_keymap_parent): GCPRO arg KEYMAP.
+
+2000-07-10  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (XMenuActivate): After exiting the menu, restore the
+       echo area message and erase it.
+
+2000-07-10  Kenichi Handa  <handa@etl.go.jp>
+
+       * fontset.c (Ffontset_info): Make the return value more compatible
+       with that of Emacs 20.
+
+2000-07-07  Gerd Moellmann  <gerd@gnu.org>
+
+       * eval.c (Fsignal): Handle case that backtrace_list is null.
+
+2000-07-07  Kenichi Handa  <handa@etl.go.jp>
+
+       * ccl.c (Fccl_execute): Typo fixed.
+
+2000-07-06  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (window_loop): Add missing gcpro1 local variable.
+
+       * window.c (Fwindow_list): Reverse list at the end.
+       (candidate_window_p): Add parameter OWINDOW.  ALL_FRAMES nil
+       means allow windows on OWINDOW's frame, only.
+       (window_loop): Simplified; use Fwindow_list.
+
+       * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
+
+2000-07-05  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (XTread_socket): Increment handling_signal at the start,
+       decrement it at the end.
+
+       * eval.c (handling_signal): New variable.
+       (Fsignal): Abort if handling_signal is non-zero.
+
+       * lisp.h (handling_signal): External declaration.
+
+       * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
+
+2000-07-05  Ken Raeburn  <raeburn@gnu.org>
+
+       Sound support for NetBSD through "Linux emulation" support:
+       * config.in (HAVE_SOUNDCARD_H): Undef.
+       (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
+       * Makefile.in (LIBSOUND): New variable.
+       (LIBES): Include it.
+       * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
+       (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
+       (vox_open): Use DEFAULT_SOUND_DEVICE.
+       * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
+
+2000-07-05  Gerd Moellmann  <gerd@gnu.org>
+
+       * print.c (print_error_message): If Vsignaling_function is set,
+       show it in *Messages*.
+
+       * lisp.h (Vsignaling_function): External declaration.
+
+       * eval.c (Vsignaling_function): New variable.
+       (Fsignal): Compute it.
+       (syms_of_eval): Staticpro it.
+
+2000-07-05  Dave Love  <fx@gnu.org>
+
+       * syswait.h: Use the autoconf recommended approach.  Old code
+       #if'd out in case we need to revert.
+
+       * config.in (HAVE_SYS_WAIT_H): Added.
+
+2000-07-05  Andrew Innes  <andrewi@gnu.org>
+
+       * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
+       when non-NULL instead of __morecore, to take account of buffer
+       memory.  This also solves a problem with spurious memory warnings
+       on Windows.
+
+       * ralloc.c: Make real_morecore non-static.
+
+       * eval.c (internal_condition_case): Comment out abort if
+       interrupt_input_blocked is not zero.
+
+       * makefile.nt: Add support for `bootstrap' and related targets.
+       Include minimal debug info in emacs.exe in release build.
+       Remove all dependencies on lisp.h, and fixup some others.
+
+       * w32.c (init_environment): Install code from 20.7 for providing
+       default values for environment variables, based on the
+       executable's own location.
+       (map_w32_filename): Handle filenames that are longer than MAX_PATH.
+       (sys_socket): Install socket inheritance bug fix from 20.7.
+
+       * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
+       here via blockinput.h).
+
+2000-07-05  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * w32menu.c (w32_menu_display_help):
+       * xmenu.c (menu_help_callback): Use show_help_echo.
+
+       * keyboard.h (show_help_echo): Declare.
+
+       * keyboard.c (show_help_echo): New function, extracted from read_char.
+       Feval its `msg' argument if it's a cons cell.
+       (read_char): Use it.
+       (follow_key): Pass `autoload' to get_keyelt.
+
+       * xterm.c (note_mode_line_highlight, note_mouse_highlight)
+       (note_tool_bar_highlight, XTread_socket):
+       * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
+       (dos_rawgetc):
+       * w32term.c (note_mode_line_highlight, note_mouse_highlight)
+       (note_tool_bar_highlight, w32_read_socket):
+       Do not gratuitously ignore non-string `help-echo' properties.
+
+2000-07-05  Gerd Moellmann  <gerd@gnu.org>
+
+       * eval.c (Feval): Put check for interrupt_input_block in #if 0.
+
+       * window.c (delete_all_subwindows): Reset Vwindow_list.
+
+       * xterm.c (x_append_glyph, x_append_composite_glyph)
+       (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
+       changes in struct glyph starting 1999-12-27.  Some bit-fields of
+       struct glyph were not set, which made glyphs unequal when compared
+       with GLYPH_EQUAL_P.  Redisplay outputs such glyphs, and flickering
+       effects were the result.  This also depended on the contents of
+       memory returned by xmalloc.  If flickering happens again, activate
+       the code in clear_glyph_row that's in #if 0.  If the flickering is
+       gone with that, chances are that it is caused by something similar.
+
+       * dispnew.c (clear_glyph_row): Add debug code in #if 0.
+
+       * dispextern.h: Add some comments.
+
+       * window.c (add_window_to_list): Add parameter LIST.
+       (window_list): Order list so that, for each frame, windows are
+       in canonical order, and so that frames appear in the list in
+       the order given by Vframe_list.
+       (next_window): Reverse the handling of NEXT_P.
+
+2000-07-04  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (Vwindow_list): New variable.
+       (make_window, delete_window): Set Vwindow_list to nil.
+       (check_window_containing): New function.
+       (window_from_coordinates): Rewritten.
+       (add_window_to_list, window_list, candidate_window_p)
+       (decode_next_window_args, next_window): New functions.
+       (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
+       (Fwindow_list): New function.
+       (Fother_window): Cleaned up.
+       (foreach_window): Add a longer "variable argument list".  Let
+       callback function return 0 to indicate that cycling over windows
+       should stop.
+       (foreach_window_1): Likewise.
+       (freeze_window_start): Return int.
+       (init_window): New function.
+       (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
+
+       * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
+       input_event with bzero.
+       (main): Call init_window.
+
+       * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
+       a menu filter.
+
+2000-07-04  Kenichi Handa  <handa@etl.go.jp>
+
+       * composite.h (make_composition_value_copy): Extern it.
+
+       * composite.c (make_composition_value_copy): New function.
+
+       * editfns.c (Fformat): While copying text properties, make each
+       composition property value a copy.
+
+       * fns.c (concat): While copying text properties, make each
+       composition property value a copy.
+
+2000-07-03  Gerd Moellmann  <gerd@gnu.org>
+
+       * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
+
+       * fns.c (sweep_weak_table): Mark only objects that are not
+       marked already.
+
+       * frame.c (next_frame, prev_frame): If MINIBUF is a window,
+       include those frames as candidates which have their focus
+       redirected to the minibuffer frame.
+
+2000-07-03  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * fns.c (Fputhash): Return `value' rather than nil.
+
+2000-06-30  Gerd Moellmann  <gerd@gnu.org>
+
+       * frame.c (next_frame): Don't check focus redirection in case
+       MINIBUF is a window.  Doing so excludes frames using MINIBUF
+       unless their focus is redirected, which contradicts the
+       specification of next-frame, and leads to infinite loops in
+       certain situations when cycling through windows with next-window.
+
+2000-06-30  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (code_convert_region): Even if the length of text is
+       zero, try to convert it if coding->type is coding_type_ccl.
+       (decode_coding_string, encode_coding_string): Likewise.
+
+2000-06-28  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
+       the display if windows_or_buffers_changed.
+
+       * dispnew.c (struct row_entry): New structure.
+       (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
+       (row_table_size, old_lines, new_lines, old_lines_size)
+       (new_lines_size, run_pool, runs_size, runs): New variables.
+       (add_row_entry): New function.
+       (scrolling_window): Use data structures allocated with xmalloc and
+       held in global variables, instead of allocating them with alloca and
+       holding them in local variables.  Use a larger hash table whose
+       size depends on glyph matrix sizes.  Don't use bzero to clear the
+       hash table; instead, clear used slots only.
+
+       * fns.c (next_almost_prime): Make it externally visible.
+
+       * lisp.h (next_almost_prime): Add prototype.
+
+       * s/isc4-0.h (sigunblock): Define.
+
+       * s/sco5.h (sigunblock): Define.
+
+2000-06-27  Dave Love  <fx@gnu.org>
+
+       * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
+       (moved to osf5-0.h).
+       [!NOT_C_CODE]: Protect string.h stuff.
+
+       * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
+       (sys_siglist, NSIG): Definitions moved here from osf1.h.
+
+2000-06-27  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (resize_mini_window): Subtract the extra line spacing
+       below the last line from the needed window height.
+
+2000-06-26  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
+       (Fwidget_get): Use it.
+       (syms_of_fns): Defsubr it.
+
+2000-06-26  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
+       display info for XIM.
+       (xim_open_dpy): Likewise.
+       (xim_close_dpy): Don't free the display info's XIM.
+
+       * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
+
+       * config.in (USE_XIM): New define.
+
+       * keymap.c (get_keyelt): For menu-items containing a `:filter
+       FILTER', apply FILTER to the menu-item's definition to get the
+       real definition to use.
+
+       * lisp.h (QCfilter): External declaration.
+
+       * xfns.c (Fimage_size): New function.
+       (syms_of_xfns): Defsubr it.
+
+2000-06-26  Andreas Schwab  <schwab@suse.de>
+
+       * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
+       Fstring_as_unibyte.
+
+2000-06-25  Dave Love  <fx@gnu.org>
+
+       * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
+
+       * Makefile.in (blockinput.h): Depend on atimer.h.
+       (atimer.h): Depend on systime.h.
+
+       * blockinput.h: Protect against multiple inclusion.  Include atimer.h.
+
+       * atimer.h: Protect against multiple inclusion.  Include systime.h.
+
+       * lisp.h (swap_in_global_binding): Declare.
+
+2000-06-24  Ken Raeburn  <raeburn@gnu.org>
+
+       * process.c (Fopen_network_stream): Turn off atimers for duration
+       of call to connect.  (Patch from Gerd.)
+
+2000-06-23  Dave Love  <fx@gnu.org>
+
+       * ralloc.c: Maybe include unistd.h
+
+       * emacs.c (setgrp): Undefine before defining.
+       (malloc_warning, set_time_zone_rule, index): Prototype.
+
+       * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
+       HAVE_STRUCT_TIMEZONE.
+
+       * s/osf1.h: Move string.h hack here from alpha.h and make it
+       conditional.
+       (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
+       _XOPEN_SOURCE.
+       (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
+       (SOCKLEN_TYPE): Don't define.
+
+       * m/alpha.h: Remove string.h hack.
+
+       * s/osf5-0.h: New file.
+
+       * filelock.c: Use feature tests for fcntl.h, string.h.  Don't
+       include time.h, done by systime.h.
+       [__FreeBSD__]: Remove redundant includes.
+
+       * callproc.c (setpgrp): Undefine before defining.
+       (delete_temp_file): Return Qnil to avoid warning.
+
+       * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
+
+       * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
+       HAVE_X_WINDOWS.
+
+       * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
+
+       * composite.h (compose_text): Declare.
+
+       * xterm.c: Don't include sys/types.h unconditionally.  Don't
+       protect its inclusion with !USG (following xmenu.c).
+
+2000-06-23  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (x_create_tip_frame): Initialize frame's colors like
+       in x_create_frame.
+
+2000-06-23  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * coding.c (decode_eol_post_ccl): Special handling for undecided
+       and inconsistent EOL types.
+
+2000-06-22  Gerd Moellmann  <gerd@gnu.org>
+
+       * xrdb.c (x_load_resources): Add default resource for scroll bar's
+       trough color and main window's background color.
+
+       * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
+
+       * xterm.h (Xt_app_con): External declaration.
+
+       * widget.c (EmacsFrameRealize): Fix typo.
+
+       * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
+
+       * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
+       (handle_invisible_prop): Record the start of invisible text in
+       it->add_overlay_start.
+       (struct overlay_entry): Add member `overlay'.
+       (handle_overlay_change): Simplify.
+       (next_overlay_string): After having processed overlay strings at the
+       end of the buffer, record that fact in
+       it->overlay_strings_at_end_processed_p.
+       (compare_overlay_entries): If before- and after-strings come
+       from the same overlay, let before-strings come first.
+       (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
+       (load_overlay_strings): Take it->add_overlay_start into account
+       when adding overlay strings.
+
+       * dispextern.h (struct it): Add member add_overlay_start.
+
+2000-06-22  Dave Love  <fx@gnu.org>
+
+       * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
+
+       * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
+
+2000-06-22  Kenichi Handa  <handa@etl.go.jp>
+
+       * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
+       is greater than 0.
+
+2000-06-21  Dave Love  <fx@gnu.org>
+
+       * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
+
+2000-06-21  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * syntax.c (back_comment): Simplify string-parity counting (with
+       the added benefit of handling multiple string-styles as long as
+       they are not intertwined).
+       Jump to the slow code as soon as a comment starter is found in
+       a "string_lossage" position.  Fixes the case:  " /* " /* " */.
+
+2000-06-21  Dave Love  <fx@gnu.org>
+
+       * Makefile.in: Use GETLOADAVG_LIBS.
+
+       * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
+       _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
+
+2000-06-20  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * syntax.c (describe_syntax): Recognize the `n'estable bit.
+       (Fforward_comment, scan_lists):
+       Check the comstyle of single-char comment-starters.
+       (scan_sexps_forward): Don't try to recognize `half comment-enders' if
+       we're just at the beginning of the comment (f.ex with (*) ... (*)).
+       Check the comstyle of single-char comment-starters.
+       Clarify control-flow around the Scomment case.
+
+2000-06-20  Dave Love  <fx@gnu.org>
+
+       * fns.c (make_hash_table, maybe_resize_hash_table):
+       Cast arg of next_almost_prime.
+
+       * tparam.c [emacs]: Include lisp.h.
+
+       * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5.  Include lisp.h
+       and unistd.h.
+
+2000-06-20  Gerd Moellmann  <gerd@gnu.org>
+
+       * keyboard.c (adjust_point_for_property): Check if display
+       property should be treated as intangible by looking at its value.
+
+       * xdisp.c (single_display_prop_intangible_p)
+       (display_prop_intangible_p): New functions.
+
+       * dispextern.h (display_prop_intangible_p): Add prototype.
+
+       * xdisp.c (dump_glyph_row): Show type of glyph->object.
+
+       * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
+       argument to sigprocmask.
+
+       * s/sco5.h (sigblock): Redefined to pass a pointer as second
+       argument to sigprocmask.
+
+       * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
+       sigprocmask_set, and pass a pointer to it to sigprocmask.
+
+       * sysdep.c (sigprocmask_set): New variable.
+
+       * fileio.c (make_temp_name): Don't use `%s' in string passed to
+       report_file_error.
+
+2000-06-20  Sam Steingold  <sds@gnu.org>
+
+       * xrdb.c: Don't declare xmalloc, xrealloc.
+
+2000-06-20  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.c (re_match, re_match_2): Protect calls to alloca (0).
+       (re_comp): Cast gettext return value to avoid complaints when
+       !HAVE_LIBINTL.
+
+2000-06-20  Dave Love  <fx@gnu.org>
+
+       * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
+
+       * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
+
+       * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
+
+       * m/alpha.h: Don't declare xmalloc, xrealloc.
+
+       * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
+
+       * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
+
+       * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
+
+       * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
+       HAVE_GETWD.
+
+       * keyboard.h (poll_for_input_1): Declare.
+
+       * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
+
+       * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
+
+       * doprnt.c: Don't declare xmalloc, xrealloc.
+
+       * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
+       (getenv, ctime, getwd): Removed.
+       (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
+
+       * xterm.h: Remove duplicate prototypes.  Declare free_frame_xic,
+       x_set_tool_bar_lines.
+
+       * config.in: Add HAVE_GETWD.  Move some definitions above
+       machine/system includes.
+
+2000-06-20  Kenichi Handa  <handa@etl.go.jp>
+
+       * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
+
+       * xfaces.c (font_list): Handle the case that REGISTRY doesn't
+       contain information about ENCODING.
+
+       * fontset.c (FONTSET_ASCII): Use the first element of char table
+       for an ASCII font, not defalt slot.
+       (fontset_ref_via_base): If FONTSET doesn't contain information for
+       C, try the default fontset.
+       (make_fontset): Don't copy the default fontset.
+       (fontset_font_pattern): Likewise.
+       (accumulate_font_info): If ELT is nil, use the corresponding
+       element in the default fontset.
+
+2000-06-19  Dave Love  <fx@gnu.org>
+
+       * syntax.c (Fparse_partial_sexp): Doc fix.
+
+       * regex.h: Test PROTOTYPES as well as __STDC__.
+
+       * unexalpha.c: Include errno.h, string.h, unistd.h.  Don't declare
+       errno, strerror.  Put text after #endif in comment.
+
+       * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
+
+       * xterm.c (x_frame_of_widget): Likewise.
+
+2000-06-19  Gerd Moellmann  <gerd@gnu.org>
+
+       * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
+       to Vfundamental_mode_abbrev_table.
+
+       * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
+       bogus objects are marked.  This slows down GC by ~80 percent, but
+       it might be worth trying when debugging GC-related problems.
+       This feature requires conservative stack marking to be enabled.
+
+       * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
+       returns XLookupChars, reset `modifiers' to zero.
+
+2000-06-19  Dave Love  <fx@gnu.org>
+
+       * mktime.c: Unprotoized.
+
+2000-06-19  Richard Stallman  <rms@gnu.org>
+
+       * data.c (set_internal): If variable is frame-local,
+       store the new value immediately into the frame parameter alist.
+
+2000-06-19  Ken Raeburn  <raeburn@gnu.org>
+
+       * xfns.c (jpeg_load): Fetch error-handling data first, then fill
+       in the custom handler pointer.
+
+       * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
+       value, or checks for CHAR_META can fail when Lisp_Object is a
+       union type.
+       * keymap.c (get_keyelt): Likewise.
+
+2000-06-19  Kenichi Handa  <handa@etl.go.jp>
+
+       * ccl.h (struct ccl_program): New member eol_type.
+       (struct ccl_spec): New member cr_carryover.
+
+       * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
+       (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
+
+       * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
+       (ccl_coding_driver): On encoding, initialize ccl->eol_type.
+       (decode_eol_post_ccl): New function.
+       (decode_coding): Don't detect EOL format here for CCL based coding
+       systems.
+       (decode_coding) <coding_type_ccl>: Handle carryovered CR.  Call
+       decode_eol_post_ccl after running the CCL program.
+       (code_convert_region): Don't detect EOL format here for CCL based
+       coding systems.
+       (decode_coding_string): Likewise.
+
+2000-06-18  Ken Raeburn  <raeburn@gnu.org>
+
+       * charset.c (update_charset_table): Use XINT on "iso_final_char"
+       when treating it as an integer.
+
+       * coding.h (encode_coding_string): Declare.
+
+       * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
+       it as an integer.
+
+       * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
+       "xkeymap" to avoid shadowing the "enum map_type" value that needs
+       to be passed to get_local_map.
+
+       * sound.c (Fplay_sound): Don't call make_number on
+       Frun_hook_with_args count argument.
+
+       * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
+       for lisp objects in X event structure data field, when lisp
+       objects are represented with unions.
+       (x_scroll_bar_to_input_event): Ditto.
+
+2000-06-16  Ken Raeburn  <raeburn@gnu.org>
+
+       * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
+       termination of string.  Fix sense of test whether
+       Vline_number_display_limit is an integer.
+
+2000-06-16  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
+       only if HAVE_X_WINDOWS.
+
+       * keymap.c (describe_buffer_bindings): Add `\f\n' in front
+       of titles.
+
+       * dispnew.c (update_frame_1): Handle case that cursor vpos is
+       out of bounds.
+
+2000-06-15  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
+       of its headers.
+
+2000-06-15  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (decode_coding_emacs_mule): Always set src_base at the
+       start of the while loop.
+
+2000-06-15  Gerd Moellmann  <gerd@gnu.org>
+
+       * atimer.c (alarm_signal_handler): Add forward declaration.
+
+       * data.c (set_internal): Remove debug code.
+
+2000-06-14  Gerd Moellmann  <gerd@gnu.org>
+
+       * Makefile.in (bootstrap-temacs): Add `-I../src'.
+
+       * unexec.c (toplevel) [COFF]: Include coff.h.
+
+       * s/lynxos.h: New file.
+
+       * keymap.c (Fsingle_key_description): Enclose function key and
+       event symbol names in angle brackets.
+
+       * xdisp.c (setup_echo_area_for_printing): Call
+       message_log_maybe_newline if message_buf_print is not set.
+
+       * print.c (printchar, strout): Don't check message_buf_print
+       before calling setup_echo_area_for_printing because that
+       function does something useful even when message_buf_print is
+       already set.
+
+       * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
+       New variables.
+       (ensure_echo_area_buffers): Initialize echo buffer's
+       truncate lines setting to nil.
+       (with_echo_area_buffer): Don't set the echo buffer's truncate
+       lines setting here.
+       (set_message_1): Set it here instead, based on the value
+       of message_truncate_lines.
+       (resize_mini_window): Handle case that lines are truncated.
+       (syms_of_xdisp): Initialize Qmessage_truncate_lines.
+       DEFVAR_BOOL message-truncate-lines.
+
+       * keyboard.c (read_char): Bind message-truncate-lines to t
+       while displaying a help-echo.
+
+       * lisp.h (Qmessage_truncate_lines): External declaration.
+
+2000-06-13  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (Vline_number_display_limit): Renamed from
+       line_number_display_limit.
+       (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
+       Extend documentation string.  Initialize
+       Vline_number_display_limit to nil meaning no limit.
+       (decode_mode_spec): Use Vline_number_display_limit with its new
+       meaning.
+
+       * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
+
+2000-06-13  Richard Stallman  <rms@gnu.org>
+
+       * frame.c (Fmodify_frame_parameters): Doc fix.
+
+       * xfns.c (x_set_frame_parameters): Comment fix.
+
+       * frame.c (store_frame_param): Call swap_in_global_binding if the
+       variable's current binding was chosen based on this frame.
+
+       * data.c (swap_in_global_binding): New function.
+
+2000-06-13  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
+       macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
+
+2000-06-13  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
+
+2000-06-12  Jason Rumney  <jasonr@gnu.org>
+
+       * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
+
+       * w32.h (EMACS_W32_H): Renamed from _NT_H_
+
+       * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
+
+       * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
+
+2000-06-12  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
+       (syms_of_xfaces): Defsubr Sdump_colors.
+       (x_free_colors): Don't treat b&w specially on default visual.
+       (x_free_dpy_colors): New function.
+       (free_face_colors): Don't check visual class; it's done
+       in x_free_colors.
+
+       * xterm.c (x_frame_of_widget): New function.
+       (x_alloc_nearest_color_for_widget): Use it.
+       (x_copy_dpy_color): New function.
+       (x_destroy_window): Free various colors.
+
+2000-06-12  Kenichi Handa  <handa@etl.go.jp>
+
+       * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
+
+       * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
+
+       * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
+
+       * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
+
+       * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
+
+2000-06-11  Dave Love  <fx@gnu.org>
+
+       * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
+
+2000-06-11  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
+
+2000-06-11  Gerd Moellmann  <gerd@gnu.org>
+
+       * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
+       to `XEvent *'.
+
+2000-06-10  Kenichi Handa  <handa@etl.go.jp>
+
+       * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
+       (regex_compile): Fix the code for handling the case of single byte
+       char and multibyte char being mixed in a range within [...].
+
+       * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
+       and dst_multibyte members of coding.
+
+       * charset.c (update_charset_table): Update the table
+       bytes_by_char_head.
+       (init_charset_once): Initialize elements of bytes_by_char_head to
+       1 except for leading codes for private charases.
+
+       * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
+       (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
+
+2000-06-09  Ken Raeburn  <raeburn@gnu.org>
+
+       * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
+       access the data it doesn't point to.
+
+2000-06-08  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
+       will be translated to a switch-frame event when reading the
+       event queue.  This is necessary because Emacs otherwise won't
+       perform a switch-frame to a new frame until some other event, for
+       example a keystroke event, forces it to do so.  This has various
+       effects, one visible being that the cursor of a frame created with
+       C-x 5 2 or switched to with a window manager key binding like
+       A-TAB stays hollow because selected_window isn't on the newly
+       focused frame until the switch-frame is performed.
+
+       * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
+       generating a switch-frame event if necessary.
+
+       * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
+
+       * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
+       it's an integer.
+
+2000-06-08  Kenichi Handa  <handa@etl.go.jp>
+
+       * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
+
+2000-06-07  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (displayed_window_lines): Take empty lines at
+       the bottom of a window into account.
+
+       * window.c (displayed_window_lines): New function.
+       (Fmove_to_window_line): Use displayed_window_lines to determine
+       the number of lines to move, instead of using the window's height.
+
+       * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
+       to stop reading, even if the form read sets point to a different
+       value when evaluated.
+
+       * xdisp.c (display_line): Fix code deciding in which line to
+       put the cursor.
+
+2000-06-07  Kenichi Handa  <handa@etl.go.jp>
+
+       * fileio.c (e_write): Free composition data if stored in
+       coding->cmp_data.
+
+2000-06-06  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (display_line): Set row's and iterator's
+       starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
+       Set cursor even if row ends in the middle of a character.
+       (dump_glyph_row): Print values of new flags.
+       (redisplay_window) <cursor movement in unchanged window>: When
+       point has been moved forward, and PT is at the end of the cursor
+       row, don't place the cursor in the next row if the cursor row ends
+       in the middle of a character or at ZV.
+
+       * dispextern.h (struct it): Add starts_in_middle_of_char_p.
+       (struct glyph_row): Add starts_in_middle_of_char_p and
+       ends_in_middle_of_char_p.
+       (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
+       ends_in_middle_of_char_p flag.
+       (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
+
+       * term.c (append_glyph): Revert change of 2000-06-06.
+
+       * xdisp.c (display_line): Revert change of 2000-06-06.  Treat
+       padding glyph not fitting on line as whole character not
+       fitting on line.
+
+       * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
+       this isn't true for images with `:ascent 100'.
+
+2000-06-06  Kenichi Handa  <handa@etl.go.jp>
+
+       * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
+       as modified if it is originally unmodified.
+
+       * term.c (encode_terminal_code): Change the way to check if
+       terminal coding does any conversion.
+       (append_glyph): Set glyph->pixel_width correctly.
+
+       * xdisp.c (display_line): While checking line continuation, pay
+       attention to a padding glyph.
+
+2000-06-05  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
+
+2000-06-05  Dave Love  <fx@gnu.org>
+
+       * xdisp.c: Include fontset.h.
+
+       * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
+
+       * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
+
+       * dispnew.c: Conditionally include term.h.
+
+       * coding.h: Declare code_convert_string_norecord.
+
+       * frame.h (struct frame): Use volatile unconditionally.
+
+       * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
+
+       * xmenu.c (menu_item_selection): Declare volatile unconditionally.
+
+       * systime.h: Protect against multiple inclusion.
+       (timezone) [USG5_4]: Define as time_t.
+
+       * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
+       (Foptimize_char_table, make_temp_name): Declare.
+
+       * Makefile.in (xdisp.o): Depend on fontset.h.
+
+       * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
+
+       * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
+       (Foptimize_char_table, make_temp_name): Declare.
+
+       * s/irix4-0.h:
+       * s/irix5-0.h:
+       * s/netbsd.h: Don't define autoconfiscated MATHERR.
+
+2000-06-02  Dave Love  <fx@gnu.org>
+
+       * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
+
+2000-06-02  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
+       result face, set flags in that face indicating that colors may not
+       be freed.
+
+       * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
+       glyph, use the ASCII NUL character to determine the face.
+
+2000-06-02  Dave Love  <fx@gnu.org>
+
+       * sysdep.c: Conditionally include stdlib.h, unistd.h.
+       (VFORK_RETURN_TYPE): Remove.
+
+       * config.in: Add NO_MATHERR.
+
+2000-06-01  Dave Love  <fx@gnu.org>
+
+       * cmds.c (internal_self_insert): Don't check
+       Vbefore_change_function, Vafter_change_function.
+
+       * insdel.c (signal_before_change, signal_after_change): Likewise.
+
+       * buffer.c (Vbefore_change_function, Vafter_change_function):
+       Variables and their initializations deleted.
+
+       * callint.c (Fcall_interactively): Doc fix.
+
+       * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
+
+2000-05-31  Dave Love  <fx@gnu.org>
+
+       * textprop.c: Revert last change -- duplicated.
+
+2000-05-31  Gerd Moellmann  <gerd@gnu.org>
+
+       * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
+       in #if 0.
+
+       * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
+
+2000-05-31  Jason Rumney  <jasonr@gnu.org>
+
+       * search.c (Fre_search_forward, Fre_search_backward)
+       (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
+
+       * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
+
+2000-05-30  Jason Rumney  <jasonr@gnu.org>
+
+       * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
+       [WINDOWSNT]: Add extern for Vw32_system_coding_system.
+
+       * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
+
+       * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
+       (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
+       expand a nil default_filename.
+
+       * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
+       pointer to glyph_to_pixel_coords, not a frame.
+
+       * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
+       coding.h to dependencies.
+
+       * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
+
+       * w32console.c (glyph_to_pixel_coords): Change first parameter to
+       window pointer to be consistent with w32term.c and xterm.c.
+
+       * w32fns.c: Format and doc changes to bring closer to xfns.c.
+       (VIETNAMESE_CHARSET): Define if not defined in system headers.
+       (Qline_spacing, Qcenter): New variables.
+       (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
+       (x_set_line_spacing): New function.
+       (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
+       (x_specified_cursor_type): New function.
+       (x_set_cursor_type): Use it.
+       (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
+       and icon strings.
+       (validate_x_resource_name, x_get_resource_string): Measure lengths
+       of external strings in bytes.
+       (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
+       GetTextExtentPoint32 with NULL title.
+       (Fx_create_frame): Initialize Qline_spacing.
+       (w32_load_system_font): Initialize font->double_byte_p.
+       (x_to_w32_charset): Use Vw32_charset_info_alist.
+       (Image, busy cursor, tooltip functions): Merged changes from
+       xfns.c. Not yet functional on Windows.
+
+       * w32gui.h (W32FontStruct): Add double_byte_p member.
+
+       * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
+       (emacs_button_translation): Use it.
+       (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
+       in `mask' to be set.
+
+       * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
+       menu strings.
+
+       * w32term.c: Format and doc changes to bring closer to xterm.c.
+       (w32_char_font_type): New enum.
+       (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
+       (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
+       (w32_encode_char): New function.
+       (x_encode_char): Removed.
+       (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
+       x_encode_char and w32_font_is_double_byte.
+       (x_produce_image_glyph): Use image_ascent.
+       (x_produce_glyphs): Use new version of w32_per_char_metric and
+       handle NULL return value. Allow extra line spacing.
+       (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
+       (w32_get_glyph_overhangs): Remove unicode_p param. Use
+       w32_font_type member of glyph instead.
+       (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
+       (fast_find_position): Make sure not to consider rows not visible
+       in the window.
+       (w32_read_socket) [WM_MENUSELECT]: Cannot call
+       w32_menu_display_help with input blocked, as it can abort.
+       (x_display_and_set_cursor): Choose cursor depending
+       on buffer-local value of cursor_type.
+       (x_draw_bar_cursor): Add parameter WIDTH.
+
+       * w32term.h (CP_DEFAULT): Define.
+       (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
+
+2000-05-30  Gerd Moellmann  <gerd@gnu.org>
+
+       * search.c (Fre_search_forward, Fre_search_backward)
+       (Fposix_search_backward, Fposix_search_forward): Doc fix.
+
+2000-05-30  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (detect_coding_iso2022): Fix code for checking
+       CODING_CATEGORY_MASK_ISO_8_2.
+
+2000-05-29  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.c (PREFETCH_NOLIMIT): New function.
+       (re_match_2_internal): Use it and adjust the end_match_2 logic.
+
+2000-05-29  Gerd Moellmann  <gerd@gnu.org>
+
+       * syntax.c (find_defun_start): Move test for
+       open_paren_in_column_0_is_defun_start outside of the loop.
+
+       * xdisp.c (redisplay_window): Really switch buffers when
+       displaying mode lines, and temporarily set selected_frame to the
+       frame of the window that's redisplayed.
+
+       * xfaces.c (free_realized_faces): Block/unblock input.
+       (free_realized_multibyte_face): Ditto.
+
+2000-05-29  Dave Love  <fx@gnu.org>
+
+       * textprop.c (Qkeymap): New variable.
+       (syms_of_textprop): Intern it.
+
+       * keymap.c: Include intervals.h.
+       (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
+
+       * Makefile.in (keymap.o): Depend on intervals.h.
+
+       * keyboard.c (menu_bar_items, tool_bar_items)
+       (Fexecute_extended_command): Deal with `keymap' property.
+       (read_key_sequence): Track map from `keymap' property as well as
+       `local_map'.
+
+       * intervals.c (get_local_map): Extra arg to allow looking for
+       `keymap' too.
+
+       * intervals.h (map_property): New enum.
+       (get_local_map): Extra arg using it.
+       (Qkeymap): Declare.
+
+       * lisp.h (get_local_map): Don't declare here.
+
+2000-05-29  Kenichi Handa  <handa@etl.go.jp>
+
+       * Makefile.in (callproc.o): Depend on composite.h.
+
+       * callproc.c: Include composite.h.
+       (Fcall_process): Handle composition correctly.
+
+       * coding.h (coding_allocate_composition_data): Extern it.
+       (coding_restore_composition): Likewise.
+
+       * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
+       yet allocated, finish decoding with result
+       CODING_FINISH_INSUFFICIENT_CMP.
+       (coding_allocate_composition_data): Make it non-static.
+       (coding_restore_composition): Likewise.
+
+2000-05-29  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * charset.c (syms_of_charset): Revert last change.
+
+2000-05-28  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * term.c (produce_glyphs): Treat characters from the eight-bit-*
+       charsets as unibyte, with 1-column screen width.  Sent by Kenichi
+       Handa.
+
+2000-05-28  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * charset.c (syms_of_charset): Set width of character sets
+       eight-bit-control and eight-bit-graphic to 1 column.
+
+2000-05-26  Gerd Moellmann  <gerd@gnu.org>
+
+       * config.in (HAVE_SPEED_T): New define.
+
+       * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
+       `extern speed_t'.
+
+2000-05-26  Dave Love  <fx@gnu.org>
+
+       * coding.c (shrink_decoding_region): Initialize eol_conversion.
+
+       * data.c (Qsubrp, Qmany, Qunevalled): New variables.
+       (Fsubr_arity): New function.
+       (syms_of_data): Install them.
+
+2000-05-26  Kenichi Handa  <handa@etl.go.jp>
+
+       * charset.c (init_charset_once): Set the table bytes_by_char_head
+       correctly.
+
+       * fontset.c (syms_of_fontset): Adjust the font name for ascii of
+       the default fontset to what Emacs uses by default.
+       (check_registry_encoding): This function deleted.
+       (Fset_fontset_font): Remove the adhoc condition for the default
+       fontset.  Allow cons in FONTNAME.
+
+       * fns.c (map_char_table): Ignore char-table entries for
+       charsets eight-bit-control and eight-bit-graphic.
+
+2000-05-25  Ken Raeburn  <raeburn@gnu.org>
+
+       * emacs.c (main): Initialize keyboard syms before initializing
+       window code, so face names are available.
+
+2000-05-25  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
+       of an anchor at the beginning of a shy-group.
+
+2000-05-25  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (handle_invisible_prop): Don't try to skip over
+       invisible text if end of text is already reached.
+
+2000-05-25  Dave Love  <fx@gnu.org>
+
+       * xdisp.c (Fdump_glyph_matrix): Declare the arg.
+
+       * coding.c (encode_eol): Add null statement after label.
+
+2000-05-25  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * w16select.c (Fw16_set_clipboard_data): Fix the change from
+       2000-05-20.
+
+2000-05-25  Kenichi Handa  <handa@etl.go.jp>
+
+       * ccl.c (ccl_driver): Fix previous change.
+
+2000-05-25  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (run_pre_post_conversion_on_str): Set point to the
+       beginning of buffer before calling coding->post_read_conversion.
+       (decode_coding_string): Give correct args to
+       run_pre_post_conversion_on_str.
+       (encode_coding_string): Likewise.
+
+       * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
+       <CCL_WriteMultibyteChar2>:  Handle charsets eight-bit-control and
+       eight-bit-graphic correctly.
+
+2000-05-24  Kenichi HANDA  <handa@etl.go.jp>
+
+       * fileio.c (Finsert_file_contents): Even if a file is not found,
+       execute codes for setting up coding system.  Call
+       after-insert-file-functions unconditionally.
+
+2000-05-24  Gerd Moellmann  <gerd@gnu.org>
+
+       * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
+       BSD_PGRPS are not defined.
+
+2000-05-24  Kenichi Handa  <handa@etl.go.jp>
+
+       * charset.c (update_charset_table): Accept nil in LONG_NAME and
+       DESCRIPTION.
+       (syms_of_charset): Avoid building same strings.
+
+2000-05-23  Gerd Moellmann  <gerd@gnu.org>
+
+       * lread.c (Fload): Add a comment about the meaning of
+       Vuser_init_file being t.
+
+       * puresize.h (BASE_PURESIZE): Increase to 675000.
+
+       * s/gnu-linux.h (setpgrp): Don't define it here because this
+       prevents compilation on GNU/Linux systems with glib 2.2.
+
+       * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
+       as setpgid.
+
+2000-05-23  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
+       dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
+       version.
+       (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
+
+2000-05-23  Kenichi Handa  <handa@etl.go.jp>
+
+       * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
+
+       * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
+
+       * term.c (encode_terminal_code): Set coding->src_multibyte properly.
+
+       * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
+
+2000-05-22  Kenichi Handa  <handa@etl.go.jp>
+
+       * keyboard.c (read_char): Allow character codes 128..255 to be
+       handled by input-method-function.
+
+       * insdel.c (adjust_markers_for_replace): Fix previous change.
+       (adjust_after_replace): If PREV_TEXT is nil, call
+       adjust_markers_for_insert, not adjust_markers_for_replace.
+
+2000-05-20  NIIBE Yutaka  <gniibe@mri.co.jp>
+
+       * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
+       (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
+       [HAVE_GRANDPT]: Define.
+       (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
+
+       * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
+       like SYSV_PTYS.
+
+       * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
+
+       * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
+
+2000-05-20  Kenichi Handa  <handa@etl.go.jp>
+
+       The following changes are to handle 8-bit characters in a
+       multibyte buffer/string without facing with byte combining
+       problem.  Two new charsets eight-bit-control (for 0x80..0x9F) and
+       eight-bit-graphic (for 0xA0..0xFF) are introduced.
+
+       * Makefile.in (fns.o): Depend on charset.h.
+
+       * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
+       convert it to unibyte.
+       (make_string): Use parse_str_as_multibyte, not chars_in_text.
+
+       * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
+       apparent char boundary.
+       (Fset_buffer_multibyte): Convert 8-bit characters in the range
+       0x80..0x9F to/from multibyte form.
+
+       * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
+       to unibyte.
+
+       * callproc.c (Fcall_process): Always encode an argument string if
+       it is multibyte.  Setup src_multibyte and dst_multibyte members of
+       process_coding properly.
+
+       * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
+       SPLIT_NON_ASCII_CHAR.
+
+       * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
+       as is.
+       (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
+
+       * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
+       (SPLIT_CHARACTER_SEQ): This macro deleted.
+       (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
+       (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
+       and eight-bit-graphic.
+       (char_to_string): Likewise.  Signal an error for too large
+       character code.
+       (char_printable_p): Return 0 for 8-bit characters.
+       (update_charset_table): Update iso_charset_table only when a final
+       character is non-negative.
+       (find_charset_in_text): Renamed from find_charset_in_str.
+       Arguments and return value changed.  Callers changed.
+       (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
+       be -1 if CHARSET is used only internally.
+       (Fmake_char_internal): Handle new charsets; eight-bit-control and
+       eight-bit-graphic.
+       (Fcharset_after): Simplified.
+       (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
+       (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
+       (multibyte_chars_in_text): Simplified by assuming there's no
+       invalid multibyte sequence.
+       (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
+       (str_as_unibyte): New functions.
+       (Fstring): Simpified by assuming that byte combining never happens.
+       (init_charset_once): Initialization for
+       LEADING_CODE_8_BIT_CONTROL.
+       (syms_of_charset): Intern and staticpro Qeight_bit_control and
+       Qeight_bit_graphic.  Include them in Vcharset_list.  Make charsets
+       eight-bit-control and eight-bit-graphic.
+
+       * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
+       (CHARSET_8_BIT_GRAPHIC): New macros.
+       (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
+       (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
+       (CHARSET_REVERSE_CHARSET): Likewise.
+       (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
+       eight-bit-graphic.
+       (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
+       (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
+       (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
+       encounter an invalid multibyte sequence.
+       (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
+       sequence is always valid.
+       (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
+       (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
+       (CHAR_STRING): For 8-bit characters, call char_to_string.
+       (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version.  Assume
+       multibyte sequence is always valid.
+       (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
+       (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
+       (str_as_unibyte): Extern them.
+       (BCOPY_SHORT): Fix a bug.
+       (CHAR_LEN): This macro deleted.  Callers changed to use CHAR_BYTES.
+       (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
+       (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
+       (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
+
+       * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
+       CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
+       (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
+       (EMIT_BYTES): New macros.
+       (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
+       (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
+       macros deleted.
+       (CHECK_CODE_RANGE_A0_FF): This macro deleted.
+       (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
+       check the validity of multibyte sequence.
+       (decode_coding_emacs_mule): New function.
+       (encode_coding_emacs_mule): New macro.
+       (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
+       the source.
+       (DECODE_ISO_CHARACTER): Just return a character code.
+       (DECODE_COMPOSITION_START): Set coding->result instead of result.
+       (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
+       EMIT_CHAR to produced decoded characters.  Exit the loop only by
+       macros ONE_MORE_BYTE or EMIT_CHAR.  Don't handle the case of last
+       block here.
+       (ENCODE_ISO_CHARACTER): Don't translate character here.  Produce
+       only position codes for an invalid character.
+       (encode_designation_at_bol): Return new destination pointer.  5th
+       arg DSTP is changed to DST.
+       (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
+       from the source by ONE_MORE_CHAR.  Don't handle the case of last
+       block here.
+       (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
+       macros deleted.
+       (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
+       (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
+       TWO_MORE_BYTES to fetch a byte from the source.
+       (encode_eol): Pay attention to coding->src_multibyte.
+       (detect_coding, detect_eol): Preserve members src_multibyte and
+       dst_multibyte.
+       (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
+       (encoding_buffer_size): Set magnification to 3 for all coding
+       systems that require encoding.
+       (ccl_coding_driver): For decoding, be sure that the result is
+       valid multibyte sequence.
+       (decode_coding): Initialize coding->errors and coding->result.
+       For emacs-mule, call decode_coding_emacs_mule.  For no-conversion
+       and raw-text, always call decode_eol.  Handle the case of last
+       block here.  If not coding->dst_multibyte, convert the resulting
+       sequence to unibyte.
+       (encode_coding): Initialize coding->errors and coding->result.
+       For emacs-mule, call encode_coding_emacs_mule.  For no-conversion
+       and raw-text, always call encode_eol.  Handle the case of last
+       block here.
+       (shrink_decoding_region, shrink_encoding_region): Detect cases
+       that we can't skip data more rigidly.
+       (code_convert_region): Setup src_multibyte and dst_multibyte
+       members of coding.  For decoding, if the buffer is multibyte,
+       convert the source sequence to unibyte in advance.  For encoding,
+       if the buffer is multibyte, convert the resulting sequence to
+       multibyte afterward.
+       (run_pre_post_conversion_on_str): New function.
+       (code_convert_string): Deleted and divided into the following two.
+       (decode_coding_string, encode_coding_string): New functions.
+       (code_convert_string1, code_convert_string_norecord): Call one of
+       above.
+       (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
+       MAKE_NON_ASCII_CHAR.
+       (Fset_terminal_coding_system_internal)
+       (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
+       and dst_multibyte members.
+       (init_coding_once): Initialize iso_code_class with new enum
+       ISO_control_0 and ISO_control_1.
+
+       * coding.h (enum iso_code_class_type): Member ISO_control_code is
+       devided into ISO_control_0 and ISO_control_1.
+       (struct coding_system): New members src_multibyte, dst_multibyte,
+       errors, and result.  Delete member fake_multibyte.
+       (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
+       nonzero.
+       (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
+       nonzero.
+
+       * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
+       (Faset): Likewise.
+
+       * editfns.c (Fformat): Be sure to convert 8-bit characters to
+       multibyte form.
+       (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
+       combining occurs.
+       (Ftranspose_region): Delete codes for handling byte combining.
+
+       * fileio.c (Finsert_file_contents): Setup src_multibyte and
+       dst_multibyte members of coding.  On handling REPLACE on unibyte
+       buffer, convert the result of decode_coding to unibyte.  On
+       inserting into a mutibyte buffer, always call code_convert_region.
+       (e_write): Setup coding->src_multibyte according to the
+       multibyteness of the source (buffer or string).
+
+       * fns.c (concat): Handle 8-bit characters correctly.
+       (Fstring_as_unibyte): Be sure to make all 8-bit characters in
+       unibyte in the result.
+       (Fstring_as_multibyte): Be sure to make all 8-bit characters in
+       valid multibyte form in the result.
+       (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
+       (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
+       return -1, signal an error.
+       (base64_encode_1): New arg MULTIBYTE.  Get each character by
+       CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero.  If a multibyte
+       character is found, return -1.
+       (Fbase64_decode_region): Delete codes for handling byte-combining.
+       Treat each decoded byte as a unibyte character.
+       (Fbase64_decode_string): Return unibyte string.
+       (Fcompare_strings, concat, string_byte_to_char): Use
+       FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
+       FETCH_STRING_CHAR_ADVANCE.
+       (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
+       (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
+
+       * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
+       SPLIT_NON_ASCII_CHAR.
+       (fontset_ref_via_base, fontset_set): Likewise
+
+       * insdel.c (adjust_markers_for_record_delete): Deleted.
+       (adjust_markers_for_insert): Argument changed.  Caller changed.
+       (adjust_markers_for_replace): Likewise.
+       (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
+       (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
+       (copy_text): Delete unused local varialbe c_save.  For converting
+       to multibyte, be sure to make all 8-bit characters in valid
+       multibyte form.
+       (count_size_as_multibyte): Handle 8-bit characters correctly.
+       (insert_1_both, insert_from_string_1, insert_from_buffer_1)
+       (adjust_after_replace, replace_range, del_range_2)
+       [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
+       (insert_1_both, insert_from_string_1, insert_from_buffer_1)
+       (adjust_after_replace, replace_range, del_range_2) Delete codes for
+       handling byte combining.
+       (adjust_before_replace): Deleted.
+
+       * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
+       SPLIT_NON_ASCII_CHAR.
+       (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
+       (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
+       (Fkey_description): Likewise.
+
+       * lread.c (read1): On reading multibyte string, be sure to make
+       all 8-bit chararacters in valid multibyte form.
+       (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
+
+       * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
+       unconditionally.
+
+       * process.c (Fstart_process): GCPRO current_dir before calling
+       Ffind_operation_coding_system.  Encode arguments here.
+       (create_process): Don't encode arguments here.  Setup
+       src_multibyte and dst_multibyte members of struct coding.
+       (read_process_output): Setup src_multibyte and dst_multibyte
+       members of struct coding.  If the output is to multibyte buffer,
+       always decode the output of the process.  Adjust the
+       representation of 8-bit characters to the multibyteness of the output.
+       (send_process): Setup coding->src_multibyte according to the
+       multibyteness of the source.
+
+       * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
+       (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
+       FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
+
+       * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
+
+       * w16select.c (Fw16_set_clipboard_data): Setup members
+       src_multibyte and dst_multibyte of coding.  Adjusted for the
+       change for find_charset_in_str.
+       (Fw16_get_clipboard_data): Likewise.
+
+       * w32fns.c (w32_to_x_font): Setup members src_multibyte and
+       dst_multibyte of coding.
+       (x_to_w32_font): Likewise.
+
+       * w32select.c (Fw32_set_clipboard_data): Setup members
+       src_multibyte and dst_multibyte of coding.  Adjusted for the
+       change for find_charset_in_str.
+       (Fw32_get_clipboard_data): Likewise.
+
+       * xdisp.c (get_next_display_element): Handle 8-bit characters
+       correctly.
+       (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
+       (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
+
+       * xselect.c (selection_data_to_lisp_data): Setup members
+       src_multibyte and dst_multibyte of coding.  Adjusted for the
+       change for find_charset_in_str.
+       (lisp_data_to_selection_data): Likewise.
+
+2000-05-19  Gerd Moellmann  <gerd@gnu.org>
+
+       * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
+
+       * dispextern.h (Vimage_types): Add extern declaration.
+
+       * xdisp.c (Vimage_types): Moved here from xfns.c.
+       (syms_of_xdisp): Move `image-types' variable here from xfns.c.
+
+       * xfns.c (Vimages_types): Moved to xdisp.c.
+       (syms_of_xfns): Move `image-types' to xdisp.c.
+
+       * w32fns.c (Vimage_types): Removed.
+       (syms_of_w32fns): Remove `image-types'.
+
+2000-05-18  Kenichi Handa  <handa@etl.go.jp>
+
+       * fns.c (map_char_table): Pay attention to character number of
+       charset.  Check the validity of charset at the first level.   For
+       leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
+       the default value.
+
+       * fontset.c: Include "buffer.h".
+       (fs_load_font): If the face has fontset, record the face ID in
+       that fontset.
+       (Finternal_char_font): New function.
+       (accumulate_font_info): New function.
+       (Ffontset_info): Rewritten for the new fontset implementation.
+       (syms_of_fontset): Register Vdefault_fontset in the first element
+       of Vfontset_table.  Include Vdefault_fontset in
+       Vfontset_alias_alist.  Declare `internal-char-font' as a Lisp
+       function.
+
+2000-05-16  Dave Love  <fx@gnu.org>
+
+       * m/iris5d.h: Deleted -- unused.
+
+2000-05-16  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
+       `invalid' instead of `illegal'.
+
+       * indent.c (Fmove_to_column): When ending within a tab, insert
+       spaces first so that markers at the end of the tab get adjusted.
+
+       * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
+       buffer list that wasn't selected in that frame.
+
+       * filelock.c (get_boot_time): To obtain an 8 char file name, which
+       is needed on mescaline, use a 2 char prefix, and call
+       make_temp_name with second arg non-zero.
+
+       * fileio.c (make_temp_name): New function, extracted from
+       Fmake_temp_name.
+       (Fmake_temp_name): Use it.
+
+2000-05-15  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * window.c (coordinates_in_window): Subtract 1 when computing right_x.
+
+2000-05-15  Gerd Moellmann  <gerd@gnu.org>
+
+       * Makefile.in (lisp): Add env.elc.
+
+       * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
+
+2000-05-12  Gerd Moellmann  <gerd@gnu.org>
+
+       * search.c (Freplace_match): Handle case of `\N' in the
+       replacement when there's no group N.
+
+2000-05-11  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (add_to_log): Don't pass the terminating NUL byte
+       of the message to message_dolog.
+
+       * keyboard.c (read_char): Don't clear current message for help
+       events; let the code handling help events handle this.  Change
+       code detecting help events that should be ignored.
+
+       * xdisp.c (handle_single_display_prop): Don't try to set PT if
+       we're interating over a string.
+
+2000-05-09  Dave Love  <fx@gnu.org>
+
+       * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
+       that offset before writing.  Move gcpro region past call of
+       Ffile_regular_p.
+
+2000-05-04  Dave Love  <fx@gnu.org>
+
+       * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
+
+2000-05-04  Gerd Moellmann  <gerd@gnu.org>
+
+       * insdel.c (insert_from_buffer_1): Adjust FROM position by number
+       of inserted characters when BUF equals the current buffer, and PT
+       is in front of or equal to FROM.
+
+2000-05-03  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (handle_single_display_prop): If display property value
+       is invalid, or something not supported on the frame, restore
+       iterator's position to what it was initially.  Make sure to return
+       0 for invalid and unsupported property values.
+
+       * xterm.c (x_produce_glyphs) <composite chars>: Handle case
+       that x_per_char_metric returns null.
+
+2000-05-02  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.h (struct face): Add forward declaration.
+       (struct image): Ditto.
+       (image_ascent): Add prototype.
+
+       * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
+       (x_draw_image_relief, x_draw_image_foreground_1): Call function
+       image_ascent instead of using IMAGE_ASCENT.
+
+       * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
+       (IMAGE_ASCENT): Removed.
+
+       * xfns.c (Qcenter): New variable.
+       (enum image_value_type): Add IMAGE_ASCENT_VALUE.
+       (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
+       (image_ascent): New function.
+       (lookup_image): Recognize `:ascent center'.
+       (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
+       (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
+       (xbm_load): Don't set image's ascent here.
+       (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
+       (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
+       check ascent values here.
+       (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
+       (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
+       (syms_of_xfns): Initialize Qcenter.
+
+       * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
+       to the limits, increase the limits.
+
+2000-05-01  Kenichi Handa  <handa@etl.go.jp>
+
+       * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
+       Check Vfont_encoding_alist against the full name of the opened font.
+
+2000-04-28  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
+       taller than the window.
+
+2000-04-28  Kenichi Handa  <handa@etl.go.jp>
+
+       * xfaces.c (realize_x_face): Fix the argument of the second
+       xassert.  BASE_FACE may not be a face for ASCII.
+
+2000-04-27  Gerd Moellmann  <gerd@gnu.org>
+
+       * print.c (print_object): Treat print-length < 0 as nil.
+
+       * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
+
+       * s/freebsd.h (TERMCAP_OBJ): Removed.
+       (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
+
+       * lread.c (read1): Don't treat period followed by certain
+       characters as symbol start.
+
+       * xfns.c (slurp_file): New function.
+       (xbm_image_p): Handle case of in-memory XBM files.
+       (xbm_scan): Rewritten to work on memory buffers instead of files.
+       (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
+       Work on memory buffers instead of files.  If DATA is null test
+       if buffer looks like an in-memory XBM file.
+       (xbm_load_image): Renamed from xbm_load_image_file.  Work on
+       memory buffers instead of files.
+       (xbm_file_p): New function.
+       (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
+
+       * lread.c (end_of_file_error): New function.
+       (read1): Call it instead of signaling `end-of-file' directly.
+
+       * print.c (print_error_message): Print data of `end-of-file'
+       with Fprinc instead of Fprin1.
+
+2000-04-26  Ken Raeburn  <raeburn@gnu.org>
+
+       * window.c (freeze_window_start): Check that minibuffer scroll
+       window isn't nil before extracting the window structure pointer
+       from it.
+
+       * undo.c (record_delete): If we hit the end of the undo list, stop
+       picking elements apart.
+
+2000-04-26  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (display_line): If lines are continued, restore
+       iterator's ascent/descent information to the values before the
+       first glyph not fitting on the line.
+
+2000-04-25  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (try_window_id) <all changes above window start>: Adjust
+       positions in glyph matrix.  Don't compute new window end positions.
+
+       * dispnew.c (increment_matrix_positions): Renamed from
+       increment_glyph_matrix_buffer_positions.
+       (increment_row_positions): Renamed from
+       increment_glyph_row_buffer_positions.
+
+       * dispextern.h: Change names of renamed functions from dispnew.c
+       in prototypes.
+
+2000-04-24  Gerd Moellmann  <gerd@gnu.org>
+
+       * fileio.c (Fdo_auto_save): Create directories for auto-save
+       list file if necessary.
+
+       * xdisp.c (init_iterator): Set iterator's extra_line_spacing
+       from buffer or frame.
+       (automatic_hscrolling_p): New variable.
+       (hscroll_windows): Scroll windows horizontally only if automatic
+       hscrolling is allowed.
+       (syms_of_xdisp): New variable `automatic-hscrolling'.
+
+       * frame.h (struct frame): Add member extra_line_spacing.
+
+       * xfns.c (x_set_line_spacing): New function.
+       (Fx_create_frame): Set line spacing from resources.
+       (Qline_spacing): New variable.
+       (syms_of_xfns): Initialize Qline_spacing.
+
+       * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
+
+       * buffer.c (init_buffer_once): Handle extra_line_spacing.
+       (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
+       (reset_buffer): Don't initialize extra2 and extra3.  Initialize
+       extra_line_spacing from default value.
+       (init_buffer_once): Initialize default value of extra_line_spacing.
+
+       * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
+       and extra3.
+
+       * xterm.c (x_produce_glyphs): Remove reference to struct it's
+       prompt_width.  Add extra line spacing.
+
+       * term.c (produce_glyphs): Remove reference to struct it's
+       prompt_width.
+
+       * dispextern.h (struct it): Remove member prompt_width, add
+       extra_line_spacing.
+
+2000-04-22  Gerd Moellmann  <gerd@gnu.org>
+
+       * dispnew.c (update_frame_line): When writing a whole line, make
+       sure cursor is in the right row afterwards, otherwise a use of
+       capability `ch' in cmgoto might leave the cursor in the row below.
+
+2000-04-21  Gerd Moellmann  <gerd@gnu.org>
+
+       * lisp.h (struct Lisp_Buffer_Cons): Remove.
+
+       * keyboard.c (timer_check): Fix typo in comment.
+
+2000-04-21  Kenichi Handa  <handa@etl.go.jp>
+
+       * fontset.c (Fset_fontset_font): Fix docstring.  Local variable
+       name change: ch -> character.
+
+2000-04-20  Gerd Moellmann  <gerd@gnu.org>
+
+       * keyboard.c (echo_message_buffer): New variable.
+       (echo_now): Set echo_message_buffer to the echo area buffer used
+       to display the echo.
+       (cancel_echoing): Reset echo_message_buffer to nil.
+       (read_char): Code rewritten that handles canceling an echo or
+       echoing a dash, respectively.
+
+       * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
+       directory doesn't exist.
+
+2000-04-19  Dave Love  <fx@gnu.org>
+
+       * fns.c (syms_of_fns): Defsubr mapc.
+       (concat): Don't allow numeric args.
+       (Fconcat): Doc change.
+
+2000-04-19  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.c (re_match_2_internal): Don't shorten the strings anymore,
+       instead define end_match(1|2) more carefully.
+       Use GET_CHAR_BEFORE_2 for `begline'.
+
+2000-04-19  Gerd Moellmann  <gerd@gnu.org>
+
+       * frame.h (SELECTED_FRAME): Change definition to compile cleanly
+       on 64-bit systems where NULL is defined as `0'.
+
+       * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
+       the `variable argument list' to make it work on Alpha.
+
+       * m/alpha.h (_LP64) [!_LP64]: Define.
+       (ORDINARY_LINK): Define for NetBSD.
+
+       * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
+
+2000-04-19  Dave Love  <fx@gnu.org>
+
+       * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
+       change.
+
+       * Makefile.in (LIBS): Don't use.
+       (GETLOADAVG_OBJ): Define again.
+       (otherobj): Add GETLOADAVG_OBJ.
+
+       * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
+
+2000-04-18  Gerd Moellmann  <gerd@gnu.org>
+
+       * lread.c (read_filtered_event): Cancel and start busy cursor.
+
+       * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
+       that the per-character metrics may be null.
+
+2000-04-17  Gerd Moellmann  <gerd@gnu.org>
+
+       * buffer.c (clone_per_buffer_values): New function.
+       (Fmake_indirect_buffer): Add optional argument CLONE.  Call
+       clone_per_buffer_values if CLONE is not nil.
+
+       * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
+
+2000-04-16  Dave Love  <fx@gnu.org>
+
+       * Makefile.in: Remove obsolete localcpp stuff.
+       (GETLOADAVG_OBJ): Don't define.
+       (obj): Move LIBOBJS...
+       (otherobj): ... to here.
+       (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
+       whitespace-only lines after the continuation (Irix).
+
+2000-04-14  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
+
+       * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
+
+2000-04-14  Dave Love  <fx@gnu.org>
+
+       * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
+       * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
+       * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
+       * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
+       NLIST_STRUCT.
+
+       * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
+       autoconfiscated HAVE_GETLOADAVG.
+
+       * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
+       BROKEN_MKTIME.
+
+2000-04-14  Gerd Moellmann  <gerd@gnu.org>
+
+       * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
+       (fill_in_lock_file_name): Avoid existing files that aren't links.
+
+2000-04-14  Dave Love  <fx@gnu.org>
+
+       * Makefile.in (LIBS, LIBOBJS): New variable.
+       (INTERVAL_SRC): Convert to make variable.
+       (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
+       (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
+       (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
+       add LIBOBJS.
+       (SOME_MACHINE_OBJECTS): Remove interval stuff.
+       (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
+       (shortlisp): Add facemenu, float-sup, frame.
+       (SOME_MACHINE_LISP): Remove them from here.
+       (LIBES): Change unused LDLIBS to autoconf LIBS.
+
+       * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
+
+2000-04-14  Kenichi Handa  <handa@etl.go.jp>
+
+       * composite.c (update_compositions): If FROM and TO are not in a
+       valid range, do nothing.
+
+2000-04-13  Gerd Moellmann  <gerd@gnu.org>
+
+       * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
+
+       * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
+
+       * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
+       as TERMCAP_OBJ.
+
+2000-04-13  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * fileio.c (a_write): Remove redundant semi-colons.
+       (e_write): Return -1 if failed to write all the data.
+       This fixes the changes made at 1999-12-15.
+
+2000-04-12  Dave Love  <fx@gnu.org>
+
+       * fns.c (mapcar1): Test for null vals to support mapc.
+       (Fmapc): New function.
+
+2000-04-12  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (NUM_MOUSE_BUTTONS): Define.
+       (IT_frame_up_to_date): Support the buffer local value of
+       cursor-type, if defined.
+
+2000-04-10  Dave Love  <fx@gnu.org>
+
+       * editfns.c (preceding-char, following-char): Doc fix.
+
+2000-04-10  Ken Raeburn  <raeburn@gnu.org>
+
+       * Makefile.in (temacs): Revert 2000-03-12 change.
+
+2000-04-10  Jason Rumney  <jasonr@gnu.org>
+
+       * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
+
+2000-04-10  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (setup_echo_area_for_printing): Choose an echo
+       area buffer, if it's not set up yet.
+
+       * indent.c (compute_motion): Set immediate_quit.
+
+2000-04-09  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
+       (realize_tty_face): Suppress boldness if colors are the inverse of
+       the default colors, and tty_suppress_bold_inverse_default_colors_p
+       is set.
+       (Ftty_suppress_bold_inverse_default_colors): New function.
+       (syms_of_xfaces): Defsubr it.
+
+       * buffer.c (Frestore_buffer_modified_p): New function.
+       (syms_of_buffer): Defsubr it.
+
+2000-04-08  Ken Raeburn  <raeburn@gnu.org>
+
+       * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
+       charset id (int) argument, not a charset (Lisp_Object).
+
+       * coding.h (code_convert_string): Declare.
+       * coding.c (code_convert_string_norecord): Pass an int, not a lisp
+       object, as the fourth argument to code_convert_string.
+
+       * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
+       (Fset_fontset_font): Use EQ to compare lisp objects.
+
+2000-04-05  Ken Raeburn  <raeburn@gnu.org>
+
+       * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
+       a pointer that looks like a lisp object.
+       (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
+       zero, instead see whether it's an integer object, since they can't
+       have intervals.
+       (GET_INTERVAL_OBJECT): Simply assign to the destination.
+
+       * dispnew.c (allocate_matrices_for_frame_redisplay)
+       (direct_output_forward_char): Use X(U)INT and make_number as needed
+       to convert between (unsigned) int values and lisp integers.
+       * keyboard.c (read_key_sequence): Likewise.
+       * lread.c (substitute_object_recurse): Likewise.
+       * fns.c (concat, hash_lookup, hash_remove): Likewise.
+       * minibuf.c (do_completion, Fminibuffer_complete_word)
+       (Fminibuffer_completion_help): Likewise.
+       * term.c (produce_special_glyphs): Likewise.
+
+       * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
+       * print.c (print_preprocess, print_object): Likewise.
+
+       * search.c (compile_pattern): Use NILP when checking for nil.
+
+       * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
+       __OPTIMIZE__]: Provide a GNU C macro version that handles
+       lisp-object unions.
+       (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
+       field, to better cope with ENABLE_CHECKING and calls that modify a
+       Lisp_Object using its old value.
+
+2000-04-04  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (compare_window_configurations): Signal an error
+       if parameters C1 or C2 aren't window configurations.
+
+       * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
+       AFTER_POTENTIAL_GC calls around calls to functions that can
+       signal an error and thus invoke the debugger.
+
+2000-04-03  Gerd Moellmann  <gerd@gnu.org>
+
+       * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
+       an error if decoding fails.
+
+       * keyboard.c (lispy_mouse_names): Variable removed.
+       (Vlispy_mouse_stem): New variable.
+       (syms_of_keyboard): Initialize Vlispy_mouse_stem.
+       (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
+       for any mouse button number.  Increase size of mouse_syms and
+       button_down_location as needed.  Call modify_event_symbol with
+       different arguments.
+       (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
+       Call modify_event_symbol with different arguments.
+       (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
+       for any button number.  Call modify_event_symbol with different
+       arguments.
+       (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
+       Accept a string for NAME_ALIST_OR_STEM.
+
+       * lisp.h (larger_vector): Add prototype.
+
+       * fns.c (larger_vector): Make externally visible.
+
+       * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
+
+2000-04-02  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
+       (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
+       (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
+       we are between str1 and str2.
+       (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
+       (PATFETCH): Use `TRANSLATE'.
+       (PATFETCH_RAW): Fetch multibyte char if applicable.
+       (PATUNFETCH): Remove.
+       (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
+       When writing a char, write it directly into the pattern buffer rather
+       than going needlessly through a temp char-array.
+       (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
+       multibyte magic and remove the useless `#ifdef emacs'.
+       (bcmp_translate): Don't compare as multibyte chars when in a unibyte
+       buffer.
+
+       * regex.h (struct re_pattern_buffer): Make field `multibyte'
+       conditional on `emacs'.
+
+       * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
+
+2000-04-01  Ken Raeburn  <raeburn@gnu.org>
+
+       * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
+       non-union-type versions of XMARK and friends here, because XMARK
+       and friends won't work on an integer field if NO_UNION_TYPE is not
+       defined.
+       (make_number): Define as a function if it's not defined as a macro.
+
+       * composite.c (run_composite_function): Use NILP when checking for nil.
+       (syms_of_composite): Delete local var NARGS, pass an int as first
+       argument to Fmake_hash_table.
+
+       * editfns.c (text_property_stickiness): Use NILP to test
+       Lisp_Object boolean value.
+       (Fmessage_or_box): Don't use NILP to test int variable.
+       (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
+       problems reading from and changing the same lisp value in an
+       XSETSTRING call.
+
+2000-04-01  Gerd Moellmann  <gerd@gnu.org>
+
+       * term.c (TN_no_color_video): New variable.
+       (term_init): Intitialize TN_no_color_video.
+       (enum no_color_bit): New enumeration.
+       (MAY_USE_WITH_COLORS_P): New macro.
+       (turn_on_face): Use it to determine if attributes may be used
+       combined with colors.
+
+2000-04-01  Ken Raeburn  <raeburn@gnu.org>
+
+       * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
+       with int lvalues via casts; instead, just yield lisp object lvalues.
+       (enlarge_window): Variable sizep now points to Lisp_Object.  Use
+       proper accessor macros.
+       (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
+       (grow_mini_window): Fix typo getting int value of root->height.
+
+       * xdisp.c (compute_string_pos): Fix order of arguments to
+       string_pos_nchars_ahead.
+       (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
+       count arg to variable-arg routines like Frun_hook_with_args and
+       Fformat.
+       (back_to_previous_visible_line_start)
+       (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
+       fixed-arg routines like Fget_char_property and Fmake_string.
+       (reconsider_clip_changes): Use XINT when comparing integer lisp
+       objects, or passing them as int arguments.
+       (mark_window_display_accurate, insert_left_trunc_glyphs)
+       (append_space, extend_face_to_end_of_line): Use make_number when
+       storing or passing integer values as lisp objects.
+       (set_cursor_from_row, highlight_trailing_whitespace): Use
+       INTEGERP, not implicit test against zero, for glyph object.
+       (try_window_id): Don't use make_number when we want an int value.
+
+       * xfaces.c (xlfd_symbolic_value): Make last argument a
+       Lisp_Object, to be consistent with callers.
+       (Fbitmap_spec_p): Use XINT to get numeric value of height.
+       (lface_hash): Apply XFASTINT to lisp values before folding in.
+
+       * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
+       fill in window width and height.  Pass an int, not a lisp object,
+       as first arg to Finsert.
+
+2000-04-01  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (realize_basic_faces): Block input while realizing
+       the faces.
+
+       * keyboard.c (lispy_mouse_names): Add additional mouse names.
+
+       * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
+
+2000-03-31  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_produce_glyphs): When displaying unibyte text
+       or ASCII, handle case that per-char metric is null.
+
+2000-03-30  Ken Raeburn  <raeburn@gnu.org>
+
+       * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
+
+       * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
+       (XSUBR, XBUFFER): Verify correct object type before returning
+       pointer, using eassert.
+       * frame.h (XFRAME): Likewise.
+
+       * buffer.c (Frename_buffer, Fset_buffer_multibyte)
+       (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
+       XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
+       * data.c (set_internal): Likewise.
+       * dispextern.h (WINDOW_WANTS_MODELINE_P)
+       (WINDOW_WANTS_HEADER_LINE_P): Likewise.
+       * fileio.c (auto_save_1): Likewise.
+       * insdel.c (check_markers): Likewise.
+       * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
+       * undo.c (record_insert): Likewise.
+       * vmsproc.c (child_sig): Likewise.
+       * window.c (unshow_buffer, window_loop): Likewise.
+       * xterm.c (x_erase_phys_cursor): Likewise.
+
+2000-03-30  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (free_image_cache): Free the cache structure itself
+       last, after all its members have been freed.
+
+       * lisp.h (xstrdup): Add prototype.
+
+       * alloc.c (xstrdup): Moved here from xfaces.c.
+       (allocating_for_lisp): Variable removed.
+       (lisp_malloc): Block input around the calls to malloc and mem_insert.
+
+       * xfaces.c (realize_tty_face): Use find_symbol_value instead
+       of Fsymbol_value.
+       (xstrdup): Moved to alloc.c.
+
+2000-03-29  Ken Raeburn  <raeburn@gnu.org>
+
+       * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
+
+       * emacs.c (main): Fix sense of no-loadup test.
+
+       * config.in (ENABLE_CHECKING): Undef.
+
+       * lisp.h (struct interval): Replace "parent" field with a union of
+       interval pointer and Lisp_Object; add new bitfield to use as
+       discriminant.  Change other flag fields to bitfields.
+       (CHECK): New macro for consistency checking.  If ENABLE_CHECKING
+       is defined and the supplied test fails, print a message and abort.
+       (eassert): New macro.  Use CHECK to provide an assert-like facility.
+
+       * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
+       pointers; abort if the value looks like a lisp object.
+       (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
+       (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
+       Modify for new interval parent definition.
+
+       * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
+       (UNMARK_BALANCE_INTERVALS): Update references that need an
+       addressable lisp object in the interval structure.
+       (die): New function.
+       (suppress_checking): New variable.
+
+       * intervals.c (interval_start_pos): Just return 0 if there's no
+       parent object.
+
+2000-03-29  Gerd Moellmann  <gerd@gnu.org>
+
+       * lread.c (read1): Accept `.' (period) as symbol start like in CL
+       and earlier Emacs versions.
+
+       * keyboard.c (Ftop_level): Cancel busy-cursor.
+
+       * eval.c (call_debugger): Cancel busy-cursor.
+
+2000-03-29  Kenichi Handa  <handa@etl.go.jp>
+
+       * search.c (Freplace_match): Adjust multibyteness of the current
+       buffer and NEWTEXT.  Free allocated memory before signaling an error.
+
+2000-03-28  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.c (analyse_first): New function obtained by ripping out most
+       of re_compile_fastmap and generalizing it a little bit so that it
+       can also just return whether a given (sub)pattern can match the empty
+       string or not.
+       (regex_compile): Use `analyse_first' to decide whether the loop-check
+       needs to be done or not for *, +, *? and +? (the loop check is costly
+       for non-greedy repetition).
+       (re_compile_fastmap): Delegate the actual work to `analyse_first'.
+
+2000-03-28  Dave Love  <fx@gnu.org>
+
+       * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
+
+       * alloc.c: Include stdio.h.  Test STDC_HEADERS, not __STDC__.
+
+2000-03-27  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
+       an expression.
+       (enum re_opcode_t): Update description of succeed_n.
+       (PATFETCH): Always define.
+       (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
+       operators, char classes, shy-groups and intervals).
+       Optimize special cases of intervals so as to only use succeed_n and
+       jump_n when really needed.
+       (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
+       that we don't have to handle the special cases any more.
+       Simplify on_failure_jump handling as well.
+
+2000-03-28  Jason Rumney  <jasonr@gnu.org>
+
+       * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
+
+2000-03-27  Gerd Moellmann  <gerd@gnu.org>
+
+       * s/freebsd.h (GC_SETJMP_WORKS): Define.
+
+       * s/msdos.h (GC_SETJMP_WORKS): Define.
+
+       * alloc.c (mark_maybe_object): New function.
+       (mark_memory): Use it.
+       (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
+       (setjmp_tested_p, longjmp_done): New variables.
+       (test_setjmp): New function.
+       (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
+       (init_alloc): Initialize setjmp_tested_p and longjmp_done.
+
+       * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
+       to DEC_TEXT_POS and INC_TEXT_POS.
+
+       * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
+       with parameter MULTIBYTE_P.
+
+       * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
+
+       * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
+       buffers because it looks for multibyte character byte sequences
+       which don't exist in unibyte text.
+
+       * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
+
+       * xfaces.c (register_color, unregister_color, unregister_colors)
+       [DEBUG_X_COLORS]: New functions.
+       (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
+
+       * xfns.c (x_set_cursor_color): Get color reference counts right.
+
+       * xterm.c (x_copy_color): New function.
+       (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
+
+       * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
+       (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
+       (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
+       (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
+       (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
+       (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
+       (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
+       (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
+       (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
+       (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
+
+       * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
+       names for handling per-buffer variables.
+
+       * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
+       instead of MAX_BUFFER_LOCAL_VARS.
+       (last_per_buffer_idx): Renamed from max_buffer_local_idx.
+
+       * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
+
+       * xfns.c (x_specified_cursor_type): New function.
+       (x_set_cursor_type): Use it.
+
+       * buffer.h (struct buffer): Add cursor_type.
+
+2000-03-26  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
+       (print_partial_compiled_pattern, re_compile_fastmap):
+       Handle new opcode.
+       (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
+       (re_match_2_internal): Add code for on_failure_jump_nastyloop when
+       executing it as well as when popping it off the stack to find infinite
+       loops in non-greedy repetition operators.
+
+2000-03-26  Gerd Moellmann  <gerd@gnu.org>
+
+       * doc.c (Qfunction_documentation): New variable.
+       (syms_of_doc): Initialize Qfunction_documentation.
+       (Fdocumentation): If FUNCTION is a symbol with non-nil
+       `function-documentation' property, return a documentation derived
+       from that.
+
+       * buffer.c (syms_of_buffer): Add default-cursor-type.
+       (init_buffer_once): Don't let cursor_type have a local value
+       in every buffer.
+
+       * xterm.c (x_display_and_set_cursor): Choose cursor depending
+       on buffer-local value of cursor_type.
+       (x_draw_bar_cursor): Add parameter WIDTH.
+
+       * buffer.c (reset_buffer): Initialize buffer's cursor_type.
+       (init_buffer_once): Set default cursor_type value to t.
+       Mark cursor_type as local everywhere.
+       (syms_of_buffer): New per-buffer variable cursor-type.
+
+       * buffer.h (struct buffer): Remove member local_var_flags,
+       add local_flags.
+       (MAX_BUFFER_LOCAL_VARS): New macro.
+       (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
+       (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
+       (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
+       (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
+
+       * print.c (print_object): Use new macros for per-buffer variables.
+
+       * category.c (Fset_category_table): Use new macros for per-buffer
+       variables.
+
+       * buffer.c (buffer_permanent_local_flags): Make a char array.
+       (max_buffer_local_idx): New variable.
+       (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
+       for new handling of per-buffer variables.
+       (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
+       (init_buffer_once): Initialize per-buffer vars differently.
+       Set max_buffer_local_idx.
+
+       * syntax.c (Fset_syntax_table): Use new macros for per-buffer
+       variables.
+
+       * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
+
+       * data.c (do_symval_forwarding, store_symval_forwarding)
+       (find_symbol_value, set_internal, default_value, Fset_default)
+       (Fkill_local_variable, Flocal_variable_p): Use new macros for
+       per-buffer variables.
+
+       * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
+
+2000-03-24  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_term_init): Unblock input around call1 of
+       Qvendor_specific_keysyms.
+
+       * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
+       (find_defun_start): Consider an open parenthesis in column 0
+       a defun start only if open_paren_in_column_0_is_defun_start is set.
+       (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
+
+2000-03-24  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * eval.c (Fautoload): Add entry in load-history (if after dump).
+       * lread.c (load-history): Update docstring.
+
+2000-03-24  Gerd Moellmann  <gerd@gnu.org>
+
+       * indent.c (Fvertical_motion): Always use the current buffer.
+       Temporarily change the window's buffer, if necessary.
+
+2000-03-23  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (fast_find_position): Make sure not to consider rows
+       not visible in the window.
+
+2000-03-22  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.c (enum syntaxcode): Provide default for non-Emacs.
+       (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
+
+2000-03-22  Jason Rumney  <jasonr@gnu.org>
+
+       * w32menu.c (single_submenu): Set help string to NULL if none.
+       (w32_menu_show): Set help string correctly.
+       (add-menu-item): Set help string in MIIM_DATA for menu item.
+       Load SetMenuItemInfoA explicitly.
+       (w32_menu_display_help): New function.
+
+       * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
+       (QCdata): Moved to xdisp.c.
+
+       * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
+       (Vw32_charset_to_codepage_alist): Removed.
+       (Vw32_charset_info_alist): New variable.
+       (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
+       (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
+       (greek, hebrew, thai, johab, mac, unicode]): New symbols.
+       (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
+       with TODO comment.
+       (w32_codepage_for_font): Use Vw32_charset_info_alist.
+       (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
+       Define Vw32_charset_info_alist and w32_charset symbols.
+
+2000-03-22  Jason Rumney  <jasonr@gnu.org>
+
+       * makefile.nt (w32bdf.obj): Update dependencies.
+
+       * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
+
+       * w32fns.c: Include fontset.h after dispextern.h.
+       (Fx_create_frame): Do not create fontset.
+       (w32_load_system_font): Doc fix.
+       (Fx_close_connection): Free full_name if it is not shared.
+
+       * w32term.c: Include fontset.h after dispextern.h.
+       (x_get_glyph_face_and_encoding): New parameter two_byte_p.
+       Callers updated.
+       (w32_per_char_metric): If PCM is invalid, delete and return NULL.
+       (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
+       (w32_font_is_double_byte): New function, needs body.
+       (x_append_glyph): Set glyph->glyph_not_available_p.
+       (x_produce_glyphs): Set it->glyph_not_available_p.  Don't set
+       it->charset.  If it->multibyte_p is zero and it->c is a multibyte
+       character, convert it to a unibyte character.
+       (struct glyph_string): Delete member `charset'.
+       (W32_TEXTOUT): Temporarily remove charset_dim until another way of
+       calculating it is found.
+       (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id.  Handle
+       the case that per char metric is not available correctly.
+       (x_fill_glyph_string): Handle the case that the specific glyph is
+       not available correctly.
+       (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
+       (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
+       (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
+       (x_new_fontset): Call fontset_ascii to get ASCII font name of the
+       fontset.  Don't call FS_LOAD_FONT.
+
+2000-03-22  Ken Raeburn  <raeburn@gnu.org>
+
+       * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
+       (INT_LISPLIKE): New macro.
+       (NULL_INTERVAL_P): Use it.
+       (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
+       (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
+       (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
+
+       * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
+       explicit references to "parent" field of struct interval and
+       associated unclean type conversions.
+       * intervals.c (create_root_interval, root_interval, rotate_right)
+       (rotate_left, balance_possible_root_interval, split_interval_right)
+       (split_interval_left, interval_start_pos, find_interval)
+       (next_interval, previous_interval, update_interval)
+       (adjust_intervals_for_insertion, delete_node, delete_interval)
+       (adjust_intervals_for_deletion, merge_interval_right)
+       (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
+       (copy_intervals_to_string): Likewise.
+       * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
+       Likewise.
+       * syntax.c (update_syntax_table): Likewise.
+
+       * intervals.c (reproduce_tree_obj): New function, like
+       reproduce_tree but takes a Lisp_Object for the parent.  Declare
+       with prototype.
+       (graft_intervals_into_buffer): Use it when appropriate.
+       (reproduce_tree): Declare with prototype.
+       (balance_possible_root_interval): Check that the parent is a lisp
+       object before trying to examine its type.
+
+2000-03-22  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (lface_same_font_attributes_p): Compare font attributes
+       as strings only if both are known to be strings.
+
+       * s/openbsd.h (LIBS_TERMCAP): Undef.
+
+2000-03-21  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
+       definitions for non-Emacs compilation.
+       (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
+       outside of `#ifdef emacs'.
+       (print_partial_compiled_pattern): Update.
+       (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
+       (re_compile_fastmap): Merge handling of charset and charset_not (for
+       emacs and non-emacs compilation as well).
+       Similarly for (not)categoryspec and (not)syntaxspec.
+       Don't use the fastmap when reaching `anychar' since the added
+       complexity is not justified.
+       (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
+       and (not)syntaxspec.  Merge (not)categoryspec.
+
+2000-03-22  Kenichi Handa  <handa@etl.go.jp>
+
+       * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
+       (FACE_FOR_CHAR): Define them differently for the configuration of
+       --without-x.
+
+2000-03-21  Dave Love  <fx@gnu.org>
+
+       * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
+       doc string.
+
+2000-03-21  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
+       (lface_fully_specified_p): Don't check contents of
+       LFACE_FONT_INDEX because that attribute is optional.
+       (realize_x_face): Remove now unwarranted xassert.
+
+2000-03-21  Kenichi HANDA  <handa@etl.go.jp>
+
+       The following changes are to make font selection based on
+       characters, not charset.  In addition, they recover fontset
+       facilities while utilizing the new font selection mechanism.
+
+       * Makefile.in (fontset.o): Depend on dispextern.h.
+
+       * alloc.c (mark_face_cache): Don't mark face->registry.
+
+       * dispextern.h (struct glyph): New member glyph_not_available_p.
+       Use 22 bits for face_id.
+       (enum lface_attribute_index): Add LFACE_FONT_INDEX.
+       (struct face): Delete member registry, new member ascii_face.
+       (FACE_SUITABLE_FOR_CHAR_P): Renamed from
+       FACE_SUITABLE_FOR_CHARSET_P.  Caller changed.
+       (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET.  Caller changed.
+       (struct it): Delete member charset, new member glyph_not_available_p.
+
+       * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
+       (struct fontset_info, struct fontset_data): Structs removed.
+       (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
+       (Vglobale_fontset_alist, font_idx_temp): Externs removed.
+       (fs_load_font, fs_query_fontset): Adjusted for new argument.
+       (fs_free_face_fontset, fontset_font_pattern)
+       (face_suitable_for_char_p, face_for_char)
+       (make_fontset_for_ascii_face): Extern them.
+       (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
+       (FS_LOAD_FACE_FONT): New macro.
+
+       * fontset.c: All codes rewritten or adjusted for the change of
+       fontset implementation.  Now fontset is represented by char table.
+       (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
+       Variables removed.
+       (my_strcasecmp): Function removed.
+       (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
+       (AREF, ASIZE): New macros.
+       (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
+       (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
+       (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
+       (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
+       (fontset_id_valid_p, font_family_registry, fontset_name)
+       (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
+       (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
+       New functions.
+       (fs_load_font): New arg FACE.  Caller changed.
+       (fs_query_fontset): Argument changed.  Caller changed.
+       (Fquery_fontset): call fs_query_fontset.
+       (fs_register_fontset, alloc_fontset_data, free_fontset_data):
+       Functions removed.
+       (clear_fontset_elements, check_registry_encoding)
+       (check_fontset_name): New functions.
+       (syms_of_fontset): Set char-table-extra-slots property of fontset
+       to 3.  Staticpro and initialize Vfontset_table and
+       Vdefault_fontset.  Defsubr fontset_font and fontset_list.
+
+       * frame.h (struct frame): Member `fontset_data' removed.
+       (FRAME_FONTSET_DATA): Macro removed.
+
+       * frame.c (make_frame): Don't allocate f->fontset_data.
+       (Fdelete_frame): Don't free f->fontset_data.
+
+       * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
+
+       * xdisp.c (charset_at_position): Function removed.
+       (init_iterator): Don't set member charset of struct `it'.
+       (handle_face_prop, reseat_to_string, set_iterator_to_next)
+       (next_element_from_display_vector, insert_left_trunc_glyphs):
+       Likewise.
+       (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
+       FACE_FOR_CHARSET.
+       (get_next_display_element, append_space)
+       (extend_face_to_end_of_line): Likewise.
+
+       * xfaces.c (Qx_charset_registry, Vface_default_registry):
+       Variables removed.
+       (clear_font_table, frame_update_line_height, load_face_font):
+       Adjusted for the change of fontset implementation.
+       (load_face_fontset_font): Function removed.
+       (pixel_point_size): New function.
+       (font_list): Argument type changed.  Caller changed.
+       (LFACE_FONT): New macro.
+       (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
+       (set_lface_from_font_name): Type of arg FONTNAME is changed to
+       Lisp_Object.  Determine the font name by actually loading a font
+       by the specified pattern.  Set LFACE_FONT (lface) to the specified
+       pattern.  Even if a font is not found, don't try alternatives.
+       (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
+       (set_font_frame_param): If `font' is specified in lface, use it.
+       (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
+       (lface_same_font_attributes_p): Likewise.
+       (make_realized_face): Arguent changed.  Caller changed.  Set
+       face->ascii_face to face itself.
+       (free_realized_face): Free face->fontset if face is for ASCII.
+       (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
+       (deduce_unibyte_registry, x_charset_registry): Functions removed.
+       (free_realized_multibyte_face): New function.
+       (lookup_face, lookup_named_face, lookup_derived_face): Argument
+       changed.  Caller changed.
+       (try_font_list): Argument type changed.
+       (face_fontset): Check `font' slot of ATTRS, not `family' slot.
+       (choose_face_font): Argument changed.  Handle fontset properly.
+       (choose_face_fontset_font): Function removed.
+       (realize_default_face, realize_named_face): Don't remove the
+       former face here.
+       (realize_face): Argument changed.  Caller changed.  Remove face
+       with the arg former_face_id in advance.  Load font for the new face.
+       (realize_x_face): Argument changed.  Caller changed.  For a
+       multibyte character, share fontset with base_face.  For a single
+       byte character, make a new realized fontset.  Don't load a font here.
+       (realize_tty_face): Argument changed.  Caller changed.
+       (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
+       (face_at_buffer_position): Don't check multibyte_p for returning
+       DEFAULT_FACE_ID.
+       (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
+       FACE_SUITABLE_FOR_CHARSET_P.
+       (syms_of_xfaces): Remove code for Qx_charset_registry and
+       Vface_default_registry.
+
+       * xterm.c: Include fontset.h after dispextern.h.  Undo the changes
+       related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
+       (x_per_char_metric): Don't try FONT->default_char.  Even if
+       pcm->width is zero, glyph bits may exist.
+       (x_encode_char): Always initialize char2b->byte1.
+       (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
+       (x_get_glyph_face_and_encoding): New arg two_byte_p.  Caller changed.
+       (x_append_glyph): Set glyph->glyph_not_available_p.
+       (x_produce_glyphs): Set it->glyph_not_available_p.  Don't set
+       it->charset.  Handle the case that per char metric is not
+       available.  If it->multibyte_p is zero and it->c is a multibyte
+       character, convert it to a unibyte character.
+       (struct glyph_string): Delete member `charset'.
+       (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id.  Handle
+       the case that per char metric is not available correctly.
+       (x_fill_glyph_string): Handle the case that the specific glyph is
+       not available correctly.
+       (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
+       (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
+       (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
+       (x_new_fontset): Call fontset_ascii to get ASCII font name of the
+       fontset.  Don't call FS_LOAD_FONT.
+
+       * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
+       (x_create_tip_frame): Likewise.
+       (Fx_close_connection): Free full_name of font_info.
+
+       * fns.c (optimize_sub_char_table): New function.
+       (Foptimize_char_table): New function.
+       (syms_of_fns): Defsubr Soptimize_char_table.
+
+2000-03-20  Gerd Moellmann  <gerd@gnu.org>
+
+       * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
+       only if buffer is displayed in some window.
+
+       * xdisp.c (handle_single_display_prop): Initialize local `value'.
+       (try_window_reusing_current_matrix): Don't call scroll run
+       function if run's current and desired position are the same;
+       this prevents cursor flickering.
+
+2000-03-19  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
+
+       * regex.c (RE_STRING_CHAR): New macro.
+       (GET_CHAR_AFER_2): Remove.
+       (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
+       (enum re_opcode_t): Remove on_failure_jump_exclusive.
+       (print_partial_compiled_pattern, re_compile_fastmap)
+       (re_match_2_internal): Remove on_failure_jump_exclusive.
+       (regex_compile): Turn optimizable P+ loops into PP*, so that the
+       optimization only need to work for * (ie. can use of_keep_string_jump).
+       Remove the special case for .*\n since it is now covered by the general
+       optimization.
+       (re_search_2): Don't bother with `room'.
+       (skip_one_char): New function.
+       (skip_noops): Simplify since `memory' is not needed any more.
+       (mutually_exclusive_p): Restructure slightly to use `switch' and
+       add handling for "all" remaining cases.
+       (re_match_2_internal): Change on_failure_jump_smart to use
+       on_failure_keep_string_jump (and redirect the end-of-loop jump)
+       rather than on_failure_jump_exclusive.
+
+2000-03-19  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
+       number of bits per RGB because it's everywhere used as the depth
+       of the visual.
+
+       * term.c (calculate_costs): Remove code dealing with X frames.
+
+2000-03-19  Richard M. Stallman  <rms@gnu.org>
+
+       * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
+
+2000-03-18  Gerd Moellmann  <gerd@gnu.org>
+
+       * lread.c (read_integer): Unread the last char not consumed.
+
+2000-03-17  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_update_window_cursor): Don't update in frames
+       which are in the process of being deleted.
+
+2000-03-16  Gerd Moellmann  <gerd@gnu.org>
+
+       * Makefile.in (mostlyclean): Add `*.core'.
+       (clean): Add `bootstrap-emacs'.
+
+       * lread.c (read_integer): New function.
+       (read1): Support read syntax #o, #x, #b, #r.
+
+2000-03-15  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.c (re_match_2): Fix string shortening (to fit `stop') to
+       make sure POINTER_TO_OFFSET gives the same value before and after
+       PREFETCH.  Use `dfail' to guarantee "atomic" matching.
+       (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
+       (debug): Now only active if > 0 rather than if != 0.
+       (DEBUG_*): Update for the new meaning of `debug'.
+       (print_partial_compiled_pattern): Add missing `succeed' case.  Use
+       CHARSET_* macros in the charset(_not) branch.  Fix off-by-two bugs
+       in `succeed_n', `jump_n' and `set_number_at'.
+       (store_op1, store_op2, insert_op1, insert_op2)
+       (at_begline_loc_p, at_endline_loc_p): Add prototype.
+       (group_in_compile_stack): Move to after its arg's types are
+       declared and add a prototype.
+       (PATFETCH): Define in terms of PATFETCH_RAW.
+       (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
+       (QUIT): Redefine as a nop except for NTemacs.
+       (regex_compile): Handle intervals {,M} as if it was {0,M}.  Fix
+       indentation of the greedy-op and shy-group code.
+       (at_(beg|end)line_loc_p): Fix argument's types.
+       (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
+       (re_search_2): Use POS_AS_IN_BUFFER.  Simplify `room' computation.
+       (MATCHING_IN_FIRST_STRING): Remove.
+       (re_match_2): Use POS_AS_IN_BUFFER.  Ifdef out failure_stack_ptr
+       to shut up gcc.  Use FIRST_STRING_P and POINTER_TO_OFFSET.  Use
+       QUIT unconditionally.
+
+2000-03-15  Gerd Moellmann  <gerd@gnu.org>
+
+       * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
+       a sole completion.
+
+       * process.c (send_process): Add a hint that the function
+       can call Lisp code to its comment.
+
+       * lread.c (load_dangerous_libraries): New variable.
+       (Vbytecomp_version_regexp): New variable.
+       (safe_to_load_p): New function.
+       (Fload): Handle files not compiled with Emacs specially.
+       (syms_of_lread): New Lisp variable load-dangerous-libraries.
+
+2000-03-14  Gerd Moellmann  <gerd@gnu.org>
+
+       * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
+
+       * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
+       support functions only if HAVE_X11R6_XIM is defined.
+       (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
+
+       * s/sol2.h (INHIBIT_X11R6_XIM): Define.
+
+       * xfns.c (X_I18N_INHIBITED): Don't define.
+       (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
+       (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
+
+       * config.in (HAVE_X_I18N): Moved here from xterm.h.
+       (HAVE_X11R6_XIM): Define.
+
+       * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
+
+       * xterm.c (x_term_init): Add support for X resource `synchronous'.
+       If set, call XSynchronize.
+
+2000-03-13  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.c: Declare a new type `re_char' used throughout the code
+       for the string char type.  It's `const unsigned char' to match the
+       rest of Emacs.  Consistently make sure all pointers to strings use
+       it and make sure all pointers into the pattern use `unsigned char'.
+       (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
+       GET_CHAR_AFTER_2.  Also merge wordbound and notwordbound to reduce
+       code duplication.
+
+       * charset.h (GET_CHAR_AFTER_2): Remove.
+       (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
+
+2000-03-12  Ken Raeburn  <raeburn@gnu.org>
+
+       * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
+       variable before the invocation of YMF_PASS_LDFLAGS, in case both
+       of them try to use backquotes.
+
+2000-03-12  Dave Love  <fx@gnu.org>
+
+       * unexelf.c: Restore changes of 1999-10-19.
+       (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
+       fix its type and alignment; copy it from current process.
+
+2000-03-12  Gerd Moellmann  <gerd@gnu.org>
+
+       * atimer.c (cancel_atimer): Break out of the loop as soon as timer
+       has been found.  Fix bug not computing timer's predecessor.
+
+       * fileio.c (Fread_file_name): Handle case that DIR contains a
+       file name.
+
+       * window.c (Fsave_window_excursion): Doc fix.
+
+       * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
+
+2000-03-12  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (vga_installed): New function, code moved from
+       dos_set_window_size.
+       (Qbar, Qcursor_type, outside_cursor): New variables.
+       (syms_of_msdos): Intern and staticpro them.
+       (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
+       shape used outside Emacs when called for the first time.
+       (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
+       cursor shape used outside Emacs.
+       (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
+       (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
+       type has changed.
+       (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
+       parameters specify the cursor.  Make qreverse a global
+       variable (renamed to Qreverse).
+
+2000-03-09  Gerd Moellmann  <gerd@gnu.org>
+
+       * fns.c (Fy_or_n_p): Cancel busy-cursor.
+
+2000-03-08  Stefan Monnier  <monnier@cs.yale.edu>
+
+       This is a big redesign of failure-stack and register handling, prompted
+       by bugs revealed when trying to add shy-groups.  Overall, what happened
+       is that loops are now structured a little differently, groups can be
+       shy and the code is a little simpler.
+
+       * regex.h: Update the copyright.
+       (RE_SHY_GROUPS): New value.
+       (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
+       (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
+
+       * regex.c (enum re_opcode_t): Remove jump_past_alt,
+       maybe_pop_jump, push_dummy_failure and dumy_failure_jump.  Add
+       on_failure_jump_(exclusive, loop and smart).  Also fix the comment
+       for (start|stop)_memory since they now only take one argument (the
+       second has becomes unnecessary).
+       (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
+       (print_compiled_pattern): Use %ld to printf long ints and flush to
+       make debugging a little easier.
+       (union fail_stack_elt): Make the integer unsigned.
+       (struct fail_stack_type): Add a `frame' element.
+       (INIT_FAIL_STACK): Init `frame' as well.
+       (POP_PATTERN_OP): New macro for re_compile_fastmap.
+       (DEBUG_PUSH, DEBUG_POP): Remove.
+       (NUM_REG_ITEMS): Remove.
+       (NUM_NONREG_ITEMS): Adjust.
+       (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
+       (TOP_FAILURE_HANDLE): New macros for the cycle detection.
+       (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
+       (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
+       New macros.
+       (PUSH_FAILURE_POINT): Don't push registers any more.  The pattern
+       address pushed is not the destination of the jump but the source
+       of it instead.
+       (NUM_FAILURE_ITEMS): Remove.
+       (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
+       registers before the actual failure point).  Don't hardcode any
+       meaning for str==NULL anymore.
+       (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
+       (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
+       Remove.
+       (REG_UNSET_VALUE): Use NULL (why not?).
+       (compile_range): Remove declaration since it doesn't exist.
+       (struct compile_stack_elt_t): Remove inner_group_offset.
+       (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
+       (regex_grow_registers): Remove dead code.
+       (FIXUP_ALT_JUMP): New macro.
+       (regex_compile): Add shy-groups Change loops to use
+       on_failure_jump_smart&jump instead of
+       on_failure_jump&maybe_pop_jump.  Change + loops to eliminate the
+       initial (dummy_failure_)jump.  Remove c1_base (looks like unused
+       variable to me).  Use `jump' instead of `jump_past_alt' and don't
+       bother with push_dummy_failure in alternatives since it is now
+       unnecessary.  Use FIXUP_ALT_JUMP.  Eliminate a useless `#ifdef
+       emacs' for (re)allocating the stack.
+       (re_compile_fastmap): Remove dead variables i and num_regs.  Exit
+       from loop when bufp->can_be_null rather than jumping to `done'.
+       Avoid jumping backwards so as to ensure termination.  Use
+       PATTERN_STACK_EMPTY and POP_PATTERN_OP.  Improved handling of
+       backreferences.  Remove dead code in handling of `anychar'.
+       (skip_noops, mutually_exclusive_p): New functions taken from the
+       handling of `maybe_pop_jump' in re_match_2_internal.  Slightly
+       improve mutually_exclusive_p to handle ".+\n".
+       (lowest_active_reg, highest_active_reg)
+       (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
+       (re_match_2_internal): Use %p instead of 0x%x when printf'ing
+       ptrs.  Don't SET_REGS_MATCHED anymore.  Remove many dead
+       variables.  Push register (in `start_memory') on the stack rather
+       than storing it in old_reg(start|end).  Remove the cycle detection
+       from `stop_memory', replaced by the use of on_failure_jump_loop
+       for greedy loops.  Add code for the new on_failure_jump_<foo>.
+       Remove ad-hoc code in `on_failure_jump' to push more registers in
+       the case of a loop.  Take out code from `maybe_pop_jump' into
+       separate functions and adapt it to the semantics of
+       `on_failure_jump_smart'.  Remove jump_past_alt, dummy_failure_jump
+       and push_dummy_failure.  Remove dummy_failure handling and
+       handling of `failures to jump to on_failure_jump' (this last one
+       was already dead code, it seems).
+       (group_match_null_string_p, alt_match_null_string_p)
+       (common_op_match_null_string_p): Remove.
+
+2000-03-08  Dave Love  <fx@gnu.org>
+
+       * config.in: Don't depend on __STDC__ for volatile.
+       Add POINTER_TYPE, PTR, PROTOTYPES.
+
+       * hftctl.c, strftime.c: Use PROTOTYPES.
+       * eval.c (find_handler_clause): Likewise.
+
+       * mem-limits.h: Use POINTER_TYPE.
+
+       * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
+       (memory_warnings): Declare using POINTER_TYPE.
+
+2000-03-08  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
+
+       * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
+
+       * xfns.c: Remove obsolete code in #if 0.
+       (Fx_focus_frame): New function.
+
+2000-03-07  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>
+
+       * coding.c (coding_category_name): Add coding-category-utf-8,
+       coding-category-utf-16-be, coding-category-utf-16-le.
+       (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
+       UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
+       UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
+       (detect_coding_utf_8): New function.
+       (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
+       UTF_16_LOW_SURROGATE_P): New macros.
+       (detect_coding_utf_16): New function
+       (detect_coding_mask): When priorities are specified, skip any
+       categories that have `nil' coding-system.  Fix bug of returning
+       wrong mask when PRIORITIES is specified and detect_coding_XXX()
+       returns a mask not set in PRIORITIES.
+       (detect_eol_type_in_2_octet_form): New function.
+       (detect_eol): selects detect_eol_type_XXX to call according to
+       cooding->category_idx.
+       (detect_coding_system): Remove `nil' coding-system in the result.
+       (Fupdate_coding_systems_internal): Update all coding-categories.
+
+       * coding.h (CODING_CATEGORY_IDX_UTF_8)
+       (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
+       New macros.
+       (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
+       (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
+       (CODING_CATEGORY_IDX_UTF_16_LE)
+       (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
+       (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
+       (CODING_CATEGORY_MASK_ANY): Include the above macros.
+       (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
+
+2000-03-07  Gerd Moellmann  <gerd@gnu.org>
+
+       * doc.c (Fdocumentation_property): If value is not a string,
+       and doesn't refer to etc/DOC, evaluate it to obtain a string.
+
+       * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
+       close the display with XtCloseDisplay.  This caused a bus error
+       on OpenWindows.
+
+       * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
+       complete but not unique.
+
+2000-03-06  Gerd Moellmann  <gerd@gnu.org>
+
+       * process.c (send_process): Remove local variable `procname' that
+       might become invalid when a GC happens.  Instead, access the
+       process name slot directly.
+
+       * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
+       orig_height if set.
+
+       * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
+       orig_height if set.
+
+2000-03-06  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
+       glyph matrices have been freed.
+
+2000-03-05  Gerd Moellmann  <gerd@gnu.org>
+
+       * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
+       (bootstrap-temacs): Set LC_ALL to C like for temacs.
+
+       * xfns.c (QCdata): Moved to xdisp.c.
+
+       * xdisp.c (QCdata): Moved here from xfns.c.
+       (syms_of_xdisp): Initialize QCdata.
+
+       * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
+
+       * window.c (coordinates_in_window): Use
+       FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
+       FRAME_INTERNAL_BORDER_WIDTH.
+
+       * xdisp.c (try_window_id): Recompute unchanged information if
+       it is obviously invalid.
+
+       * xterm.c (x_term_init): Create a colormap if not using the
+       default visual.
+
+       * xterm.h (select_visual): Change prototype.
+
+       * xfns.c (select_visual): Rewritten.  Recognize user-specified
+       visual classes.
+       (visual_classes): New variable.
+
+2000-03-04  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
+       (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
+       (png_load): Access colormap of frame using FRAME_X_COLORMAP.
+       (x_decode_color): Don't handle allocation of white and black specially.
+       (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
+       XtNcolormap resources.
+       (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
+       (Fx_create_frame): Initialize color members of x_output structure.
+       (xpm_load): Pass colormap to XPM lib.
+
+       * xfaces.c (x_free_colors): Access colormap of frame using
+       FRAME_X_COLORMAP.  Be paranoid about freeing black and white
+       when default colormap is used.
+
+       * xterm.c (x_term_init): Set Colormap member of x_display_info
+       structure.  Copy colormap if resource `privateColormap' is
+       specified (PseudoColor only).
+       (x_setup_relief_color): Access colormap of frame using
+       FRAME_X_COLORMAP.
+
+       * xterm.h (struct x_display_info): Add Colormap member `cmap'.
+       (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
+
+2000-03-04  Jason Rumney  <jasonr@gnu.org>
+
+       * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
+       other non-platform-specific equivalents.
+       [WINDOWSNT]: Include w32term.h, fontset.h and define X
+       specific functions and macros as their w32 equivalents where
+       non-platform-specifics are not available.
+       [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
+       (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
+       (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
+       (frame_update_line_height): Use macros to access f->output_data.
+       (defined_color): Remove FIXME comments; fixed.
+       (x_face_list_fonts, prepare_face_for_display): Put X specifics
+       into #ifdef blocks. Add WINDOWSNT blocks.
+       (Fx_list_fonts): Use macros for accessing font data.
+       (set_lface_from_font_name): Different default fonts for X and
+       WINDOWSNT.
+       (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
+       scalable for backward compatibility.
+       (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
+       (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
+
+       * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
+       syms_of_w32faces.
+
+       * makefile.nt (w32faces.obj): Remove.
+       (xfaces.obj): Add.
+
+2000-03-03  Jason Rumney  <jasonr@gnu.org>
+
+       * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
+       correct parameters.
+
+2000-03-03  Ken Raeburn  <raeburn@gnu.org>
+
+       * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
+       standard ELF definitions here if the system header does not.
+
+2000-03-03  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (PER_CHAR_METRIC): Removed.
+       (x_per_char_metric_1, x_default_char): New functions.
+       (x_per_char_metric): If font's default char is invalid, return
+       metrics of a suitably chosen usable default char.
+       (x_draw_glyph_string_foreground): If font has an invalid default
+       char, replace occurrences of unprintable chars with a suitably
+       chosen usable default char.
+
+2000-03-02  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (note_mouse_highlight): Return quickly if frame's
+       glyph matrices have been freed.
+
+       * dispnew.c (free_glyphs): Block input while freeing matrices.
+
+       * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
+
+       * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
+       Use x_free_colors.
+
+       * dispextern.h (x_free_colors): Add prototype.
+
+       * xfaces.c (x_free_colors): New function.
+       (unload_color, free_face_colors): Use it.
+
+2000-03-02  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
+
+       * window.c [MSDOS]: Include msdos.h.
+
+2000-03-02  Dave Love  <fx@gnu.org>
+
+       * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
+
+       * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
+       set C_OPTIMIZE_SWITCH for gcc.
+
+2000-03-02  Kenichi Handa  <handa@etl.go.jp>
+
+       * coding.c (coding_save_composition): Be sure to allocate
+       composition data area in coding even if there's no composition in
+       the current run.
+
+2000-03-01  Jason Rumney  <jasonr@gnu.org>
+
+       * w32term.c: Equivalent changes to those made to xterm.c on
+       2000-02-25 and 2000-02-24.
+
+       * w32fns.c: Equivalent changes to those made to xfns.c on
+       2000-02-25 and 2000-02-21.
+
+       * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
+       correct line-end convention is followed.
+
+       * w32menu.c [HAVE_BOXES]: Remove #undef.
+       (single_keymap_panes): Remove code for simulating checkmarks.
+       (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
+       Remove code for drawing simulated checkmarks.
+       (w32_menu_show): make unibyte help string correctly.
+       (add_menu_item): draw standard Windows checkmarks. Draw radio
+       buttons as radio buttons if possible.
+
+2000-03-01  Gerd Moellmann  <gerd@gnu.org>
+
+       * sysdep.c (start_of_text): Don't define this function for NetBSD
+       with ELF.
+
+       * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
+       Don't define.
+       (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
+       (LINKER): Don't undef if __NetBSD__ is defined.
+
+       * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
+
+       * fileio.c [__NetBSD__]: Define `unix'.
+
+       * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
+
+2000-02-29  Gerd Moellmann  <gerd@gnu.org>
+
+       * atimer.c (start_atimer): Don't abort when timers are stopped.
+       (append_atimer_lists): New function.
+       (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
+       arbitrary lists of stopped and running atimers.
+
+       * atimer.c (cancel_atimer): Handle canceling an atimer when
+       some timers are stopped.
+
+       * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
+       after canceling it.
+
+       * fns.c (maybe_resize_hash_table): Handle case of new size
+       coming out as being the same as old size.
+
+2000-02-27  Jason Rumney  <jasonr@gnu.org>
+
+       * makefile.nt: Add atimer.h to dependencies.
+       * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
+       * w32console.c: Only disable window system features for dispextern.h
+       (initialize_w32_display): Build a display info for the console.
+       * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
+       * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
+       WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
+       as 2 button mice.
+       * w32gui.h (struct W32FontStruct): Revert last change after change
+       to xdisp.c.
+       * w32menu.c (single_submenu): Set up help string.
+       [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
+       (w32_dialog_show): Set up help string.
+       * w32term.c (w32_display_info_for_display): Remove unused function.
+       (w32_draw_bitmap): Use pre-built bitmaps.
+       (w32_initialize_display_info): New function to initialize parts of
+       display info that are common to both GUI and console frames.
+       (w32_term_init): Use w32_initialize_display_info. Do not set
+       Vw32_num_mouse_buttons here, as it is not called for console
+       frames.  Build bitmaps for indicating truncated lines etc.
+       (x_delete_display): Destroy pre-built bitmaps.
+       * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
+       (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
+
+2000-02-27  Dave Love  <fx@gnu.org>
+
+       * lisp.h: Add a bunch of prototypes.
+
+2000-02-26  Kenichi Handa  <handa@etl.go.jp>
+
+       * keyboard.c (read_char): Set `usec' correctly.
+
+2000-02-25  Miyashita Hisashi  <himi@bird.scphys.kyoto-u.ac.jp>
+
+       * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
+       `lambda', set reg[RRR] to the map index.
+       (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
+       reg[RRR] to 0.  Otherwise, set it to -1.
+
+2000-02-25  Gerd Moellmann  <gerd@gnu.org>
+
+       * emacs.c (main): Remove code snippet commented out with `//'.
+
+2000-02-25  Richard M. Stallman  <rms@gnu.org>
+
+       * fileio.c (Ffile_symlink_p): If result starts with a `/'
+       and contains a `:', prepend `/:'.
+
+       * window.c (select_window_1): If selected_window is nil,
+       don't "swap out" the buffer's point.
+       (Fset_window_configuration): Set selected_window to nil
+       before calling Fselect_window.
+       (unshow_buffer): Don't set point in buffer from window's point
+       if another more recently selected window also shows the buffer.
+
+2000-02-25  Gerd Moellmann  <gerd@gnu.org>
+
+       * keyboard.c (recursive_edit_1): Cancel busy-cursor.
+
+       * xfns.c (inhibit_busy_cursor, busy_count): Removed.
+       (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
+       (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
+       New variables.
+       (DEFAULT_BUSY_CURSOR_DELAY): New define.
+       (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
+       (hide_busy_cursor): New functions.
+       (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
+
+       * minibuf.c (read_minibuf): Cancel busy-cursor.
+
+       * keyboard.c (command_loop_1): Call start_busy_cursor before
+       Fcommand_execute and cancel_busy_cursor after it.
+       (timer_check): Remove busy-cursor code.
+       (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
+       cursor timer.
+
+       * process.c (wait_reading_process_input): Remove busy-cursor code.
+
+       * eval.c (Fsignal): Call cancel_busy_cursor instead of
+       Fx_hide_busy_cursor.
+
+       * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
+       Remove prototyoes.
+       (start_busy_cursor, cancel_busy_cursor): Add prototypes.
+
+       * lisp.h (Fx_hide_busy_cursor): Remove prototype.
+
+       * xterm.c (XTread_socket): Remove busy-cursor code.
+
+       * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
+       (build_frame_matrix_from_leaf_window): Put code handling
+       glyph row's not being a slice of a frame row in #if 0.
+       (sync_window_with_frame_matrix_rows): New function.
+       (frame_row_to_window): New function.
+       (mirror_line_dance): Handle copies between windows.
+
+       * lread.c (Fload): Use `xfree' instead of `free'.
+       (init_obarray): Use `xmalloc' instead of `malloc'.
+
+       * window.c (Fset_window_buffer): Set WINDOW to the window
+       after decoding.
+       (coordinates_in_window): Take frame's internal border width
+       into account.
+
+2000-02-24  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_display_and_set_cursor): Display cursor of
+       non-selected windows depending on the setting of
+       cursor_in_non_selected_windows.
+
+       * xdisp.c (cursor_in_non_selected_windows): New variable.
+       (syms_of_xdisp): DEFVAR_BOOL it.
+
+2000-02-23  Gerd Moellmann  <gerd@gnu.org>
+
+       * data.c (Fstring_to_number): If number is greater than what
+       fits into an integer, return a float.
+
+       * eval.c (specbind): Remove references to
+       keyword_symbols_constant_flag.
+
+       * data.c (keyword_symbols_constant_flag): Removed.
+       (Fmakunbound, set_internal, syms_of_data): Remove references to
+       keyword_symbols_constant_flag.
+
+       * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
+
+2000-02-23  Kenichi Handa  <handa@etl.go.jp>
+
+       * syntax.c (multibyte_syntax_as_symbol): New variable.
+       (syms_of_syntax): Declare it as a Lisp variable.
+       (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
+       (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
+       nonzero, treat all multibyte characters as symbol.
+       (init_syntax_once): Give syntax `word' to all multibyte characters.
+
+2000-02-22  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * frame.c (Fdelete_frame): Don't let echo_area_window remain on
+       a deleted frame.
+
+2000-02-21  Gerd Moellmann  <gerd@gnu.org>
+
+       * frame.c (Fmouse_position): GCPRO retval instead of x and y.
+
+       * xfns.c (x_window_to_frame, x_any_window_to_frame)
+       (x_non_menubar_window_to_frame): Check the busy-cursor window.
+
+2000-02-21  Dave Love  <fx@gnu.org>
+
+       * frame.c (Vmouse_position_function): New variable.
+       (Fmouse_position): Use it.
+       (syms_of_frame): Install it.
+
+       * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
+
+2000-02-20  Gerd Moellmann  <gerd@gnu.org>
+
+       * fileio.c (Finsert_file_contents): Unbind the binding of
+       standard-output done by temp_output_buffer_setup.
+
+       * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
+       Vmocklisp_arguments is nil.  Inline Fcar and Fcdr.
+       (specbind, unbind_to): Handle most common case of non-constant
+       symbol with trivial value specially.
+
+       * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
+
+2000-02-20  Richard M. Stallman  <rms@gnu.org>
+
+       * data.c (Fmake_variable_buffer_local): Doc fix.
+       Init found_for_buffer to 0.
+       (Fmake_variable_frame_local): If the variable has already
+       been buffer-local, set the check_frame field.
+
+2000-02-20  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
+       produced for CODING_MODE_LAST_BLOCK requires.
+
+2000-02-18  Dave Love  <fx@gnu.org>
+
+       * keyboard.c (echo_keystrokes): Remove declaration.
+       (Vecho_keystrokes) New variable.
+       (read_char, record_menu_key, read_key_sequence): Use it to allow
+       use of float value.
+       (syms_of_keyboard): Change Vecho_keystrokes declaration.
+
+       * lread.c: Undef feature selection macros before defining.
+
+2000-02-18  Gerd Moellmann  <gerd@gnu.org>
+
+       * data.c (let_shadows_buffer_binding_p): Ignore specbindings
+       for symbols other than the symbol in question.
+
+2000-02-17  Dave Love  <fx@gnu.org>
+
+       * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
+
+2000-02-17  Gerd Moellmann  <gerd@gnu.org>
+
+       * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
+
+       * alloc.c (enum mem_type): Compile unconditionally.
+
+2000-02-17  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * xfaces.c (tty_defined_color): Don't return faulire indication
+       for unspecified-fg and unspecified-bg pseudo-colors.
+
+2000-02-17  Gerd Moellmann  <gerd@gnu.org>
+
+       * alloc.c (mark_object): Don't mark symbol names in pure space.
+       (gc_sweep): Don't unmark symbol names in pure space.
+
+       * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
+       (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
+       [GC_MARK_STACK]: New defines.
+       (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
+       [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
+
+       * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
+
+       * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
+       allocate_buffer instead of xmalloc.
+
+       * alloc.c (toplevel): Include setjmp.h.
+       (PURE_POINTER_P): New define.
+       (enum mem_type) [GC_MARK_STACK]: New enumeration.
+       (Vdead) [GC_MARK_STACK]: New variable.
+       (lisp_malloc): Add parameter TYPE, call mem_insert if
+       GC_MARK_STACK is defined.
+       (allocate_buffer): New function.
+       (lisp_free) [GC_MARK_STACK]: Call mem_delete.
+       (free_float) [GC_MARK_STACK]: Set type to Vdead.
+       (free_cons) [GC_MARK_STACK]: Set car to Vdead.
+       (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
+       (MEM_NIL) [GC_MARK_STACK]: New define.
+       (struct mem_node) [GC_MARK_STACK]: New structure.
+       (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
+       (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
+       (live_string_p, live_cons_p, live_symbol_p, live_float_p)
+       (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
+       (mark_stack) [GC_MARK_STACK]: New functions.
+       (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
+       (clear_marks): Removed.
+       (gc_sweep): Set free conses' car, free floats' type, free
+       symbols' function to Vdead.  Use lisp_free to free buffers.
+       (init_alloc_once): Initialize Vdead.
+       (survives_gc_p): Return non-zero for pure objects.
+
+       * alloc.c: Add comments throughout the file.
+
+       * atimer.c (stop_other_atimers): Don't call cancel_atimer because
+       that unblocks alarms.
+
+       * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
+       emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
+       Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
+
+       * frame.c (make_frame): Set frame initiallly to `garbaged'.
+
+2000-02-17  Kenichi Handa  <handa@etl.go.jp>
+
+       * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
+       avoid infinite error signaling.  Allocate sufficient memory for
+       eol_str in the case that eoltype is Lisp_Int.
+
+2000-02-17  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
+       depends on the previous behavior.
+
+2000-02-16  Gerd Moellmann  <gerd@gnu.org>
+
+       * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
+
+2000-02-15  Gerd Moellmann  <gerd@gnu.org>
+
+       * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
+
+       * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
+       Workaround for FreeBSD bug.  Clear output queue after EAGAIN in
+       write(2).
+
+2000-02-15  Richard M. Stallman  <rms@gnu.org>
+
+       * data.c (set_internal): Don't make variable buffer-local
+       if within a let-binding for the same buffer.
+       (let_shadows_buffer_binding_p): New function.
+
+       * eval.c (specbind): For buffer-local value,
+       record the current buffer also.
+       (unbind_to): Cope with that change.
+
+2000-02-15  Gerd Moellmann  <gerd@gnu.org>
+
+       * window.c (Fsave_window_excursion): Doc fix.
+
+2000-02-15  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * syntax.c (back_comment): Make sure we only consider comment-starters
+       of the relevant style and return -1 in case of a failure to find the
+       beginning of the comment.
+       (Fforward_comment): If back_comment fails, go back to the position just
+       after the comment-end.
+       (scan_lists): Add comment describing a very minor bug.
+
+2000-02-14  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
+       `completion-regexp-list' in the docstring.
+
+2000-02-14  Dave Love  <fx@gnu.org>
+
+       * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
+
+2000-02-14  Stefan Monnier  <monnier@cs.yale.edu>
+
+       * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
+       to Emacs' syntax.  Also fix the comment about set/not-set meanings
+       since Emacs syntax is not the value 0 any more.
+       * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
+       since it's now part of RE_SYNTAX_EMACS.
+
+2000-02-12  Dave Love  <fx@gnu.org>
+
+       * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
+
+2000-02-12  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
+
+2000-02-12  Dave Love  <fx@gnu.org>
+
+       * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
+
+       * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
+       * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
+       * s/hpux.h: Don't define HAVE_VFORK.
+
+       * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
+
+       * s/nextstep.h: Don't define HAVE_ALLOCA.
+
+       * config.in: Add vfork bits.
+
+2000-02-12  Gerd Moellmann  <gerd@gnu.org>
+
+       * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
+       unwind function to undo the effect of stopping atimers.
+
+       * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
+
+       * atimer.c (stopped_atimers): New variable.
+       (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
+       New functions.
+
+       * atimer.h (stop_other_atimers, run_all_atimers)
+       (unwind_stop_other_atimers): Add function prototypes.
+
+       * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
+
+2000-02-11  Ken Raeburn  <raeburn@gnu.org>
+
+       * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
+       library may depend on jpeg.
+       (atimer.o): Depends on atimer.c.
+
+2000-02-11  Kenichi Handa  <handa@etl.go.jp>
+
+       * insdel.c (del_range_1): Call update_compositions.
+       (del_range_both): Call update_compositions just once..
+
+2000-02-10  Dave Love  <fx@gnu.org>
+
+       * xfns.c (create_frame_xic): Fix initialization of automatic
+       aggregates for pcc.
+
+2000-02-09  Kenichi Handa  <handa@etl.go.jp>
+
+       * ccl.c (CCL_MAKE_CHAR): New macro.
+       (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
+       registers by CCL_MAKE_CHAR before calling translate_char.
+       <CCL_TranslateCharacterConstTbl> Likewise.
+
+2000-02-08  Dave Love  <fx@gnu.org>
+
+       * lread.c (__EXTENSIONS__): Define.
+
+2000-02-08  Gerd Moellmann  <gerd@gnu.org>
+
+       * puresize.h (BASE_PURESIZE): Increase to 650000.
+
+2000-02-07  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (XMenuActivate): Turn off the cursor after displaying
+       the help message.
+
+2000-02-07  Eli Zaretskii <eliz@is.elta.co.il>
+
+       * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
+       md, mh, mb, mr, and me to the fake termcap entry.
+
+2000-02-06  Ken Raeburn  <raeburn@gnu.org>
+
+       * sound.c (sound_cleanup): Don't call device close routine if the
+       function pointer is null.
+
+2000-02-06  Andrew Innes  <andrewi@gnu.org>
+
+       * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
+       around image definitions and prototypes.
+       (gamma_correct) [WINDOWSNT]: New prototype.
+
+       * w32term.c (x_make_frame_visible): Replace call to
+       input_poll_signal with poll_for_input.
+
+       * window.c [WINDOWSNT]: Include w32term.h.
+
+       * xdisp.c [WINDOWSNT]: Include w32term.h.
+
+       * makefile.nt: Add dependencies on w32gui.h.
+       (OBJ1): Include atimer.obj.
+       ($(BLD)\atimer.obj): New dependency rule.
+
+       * w32.c (sigmask): New function (does nothing).
+       (sigunblock): Ditto.
+
+       * frame.c [WINDOWSNT]: Include w32term.h.
+
+       * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
+
+       * lread.c (syms_of_lread): Fix literal newlines.
+
+       * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
+       the string constant limit (2048 bytes) in MSVC.
+       (main): Ditto.
+
+2000-02-05  INOUE Seiichiro <inoue@ainet.or.jp>
+
+       * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
+       (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
+       (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
+       dispatch the event.
+
+2000-02-04  Dave Love  <fx@gnu.org>
+
+       * fileio.c: Remove some unused vars.
+       (_GNU_SOURCE): Define (for euidaccess).
+
+       * lread.c (_XOPEN_SOURCE): Declare (for ftello).
+
+       * minibuf.c (read_minibuf_noninteractive): Remove undeclared
+       gcpro1, gcpro2.
+       (read_minibuf): Deal with allow_props correctly.
+
+2000-02-03  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
+
+2000-02-03  Ken Raeburn  <raeburn@gnu.org>
+
+       * search.c (compile_pattern): If a cache entry has a nil regexp,
+       fill in that entry instead of clobbering a previously cached
+       string regexp.
+
+2000-02-02  Ken Raeburn  <raeburn@gnu.org>
+
+       * puresize.h (BASE_PURESIZE): Increase to 610000.
+
+2000-02-02  Gerd Moellmann  <gerd@gnu.org>
+
+       * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
+       can GC.
+
+2000-02-02  Kenichi Handa  <handa@etl.go.jp>
+
+       * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
+       instead of incrementing ic directly.
+       <CCL_WriteExprConst> Likewise.
+       <ccl_set_expr>: Set ic to jump_address.
+
+       * fileio.c (e_write): Fix the handling of
+       CODING_FINISH_INSUFFICIENT_SRC.
+
+2000-02-01  Dave Love  <fx@gnu.org>
+
+       * editfns.c (Fpropertize): Doc fix.
+
+       * process.c (Fstart_process): Doc fix.
+
+       * eval.c: Fix various doc strings not to duplicate information
+       from help-manyarg-func-alist.
+
+       * window.c (Fset_window_margins): Don't make interactive.  Doc fix.
+
+       * doc.c (Vhelp_manyarg_func_alist): New variable.
+       (Fdocumentation): Use it.
+       (syms_of_doc): Define it.
+
+2000-01-31  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (xim_open_dpy): Remove unused local variable.
+
+       * emacs.c (USAGE): Use term `display options' instead of `X options'.
+
+       * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
+       (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
+
+       * fns.c (sweep_weak_table): New function.
+       (sweep_weak_hash_tables): Use it.  Keep on marking until there
+       is no more change.
+
+2000-01-30  Gerd Moellmann  <gerd@gnu.org>
+
+       * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
+       that XTread_socket does not crash by trying to call XNoOp on a
+       closed display.
+
+2000-01-30  Jason Rumney  <jasonr@gnu.org>
+
+       * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
+       Change selected_frame to SELECTED_FRAME ().
+       (w32_console_mouse_position): Remove #ifndef MULE from around
+       `insist' parameter.
+
+       * makefile.nt: Remove dosfns.obj.
+
+       * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
+
+       * w32fns.c (w32_defined_color): Check for valid frame before
+       applying gamma correction. Eliminate dependency on frame elsewhere.
+       (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
+       (w32_to_x_font): Use resx and resy not height_in and width_in.
+       (x_to_w32_font): Doc fix.
+       (xlfd_strip_height): New function to strip and return font height.
+       (w32_font_match): Compare height separately from rest of xlfd
+       spec, using xlfd_strip_height.
+
+       * w32term.c (w32_term_init): Swap resx and height_in, resy and
+       width_in. Use w32_defined_color in place of defined_color.
+
+       * w32faces.c: Merge more of DOS and X specifics in preparation for
+       merge with xfaces.c.
+       (defined_color): Remove FIXME comment.
+       (tty_color_name): Provide w32-specific function.
+       (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
+
+       * w32console.c (turn_on_face, turn_off_face): Removed.
+       (w32_face_attributes): New function.
+       (Global_variables): Reduce scope where possible.
+       (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
+       fill attribute.
+       (hl_mode): Don't modify text attributes.
+       (write_glyphs): Don't do anything if len <= 0. Use
+       w32_face_attributes to get attributes for drawing. Write
+       terminating codes using char_attr_normal.
+       (reset_terminal_modes, set_terminal_modes): Turn off highlight.
+       (update_begin, update_end): Likewise.
+       (vga_stdcolor_name): New function.
+       (initialize_w32_display): Remove char_attr_reverse and char_attr.
+       (Fset_screen_color): Remove char_attr_reverse.
+
+2000-01-29  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (xic_set_preeditarea): Take window parameter and
+       window-relative pixel-positions.
+
+       * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
+       is its frame's selected window.
+       (xim_instantiate_callback): Likewise.
+
+       * xfns.c (x_create_im): Removed.
+       (DEFAULT_STYLE, DEFAULT_FONT): Removed.
+       (supported_xim_styles): Renamed from supported_styles.
+       (best_xim_style): Renamed from best_style.
+       (create_frame_xic): Renamed from xic_create_frame.
+       (free_frame_xic): Renamed from xic_destroy_frame.
+
+2000-01-29  INOUE Seiichiro <inoue@ainet.or.jp>
+
+       * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
+       our frames, call XFilterEvent with 2nd parameter `None'.
+       (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
+       returning XBufferOverflow.
+       (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
+       (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
+       (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
+       (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
+       (xim_initialize, xim_close)
+       [HAVE_X_I18N && HAVE_X11R6]: New functions.
+       (x_destroy_window) [HAVE_X_I18N]:  Call xic_destroy_frame.
+       (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
+       (x_delete_display) [HAVE_X_I18N]: Call xim_close.
+
+       * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
+       and `xim_styles'.
+       (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
+       `xic_style' and `xic_xfs'.
+       (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
+       (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
+       (FRAME_XIM): Removed.
+
+       * xfns.c (supported_styles): New variable.
+       (DEFAULT_STYLE, DEFAULT_FONT): New macros
+       (xic_create_xfontset, best_style, xic_create_frame)
+       (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
+       (xic_set_xfontset): New functions.
+
+2000-01-28  Dave Love  <fx@gnu.org>
+
+       * s/irix6-5.h: Revert last change after change to irix5-0.h.
+
+       * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
+
+2000-01-28  Gerd Moellmann  <gerd@gnu.org>
+
+       * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
+       for *scratch* if it already existed.
+
+       * emacs.c (USAGE): New macro.
+       (main): Use it to display usage information.
+
+2000-01-27  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       Support for the menu-help feature:
+
+       * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
+
+       * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
+       part of the line to the termscript file.
+       (IT_clear_to_end): Clear the entire line, not just its beginning.
+       (menu_help_message, prev_menu_help_message): New variables.
+       (IT_menu_make_room): Make room for the help_text member.
+       (IT_menu_display): New argument disp_help; all callers changed.
+       If disp_help is non-zero, store the help text of the active menu
+       item in menu_help_message.
+       (XMenuAddPane): Initialize the help_text member to NULL.
+       (XMenuAddSelection): New argument help_text.  Store it in the
+       XMenu structure.
+       (XMenuActivate): New argument help_callback.  If the value of
+       menu_help_message has changed since the last time, display the
+       menu help message text while waiting for the mouse to move.  Clear
+       the echo area before exiting.
+       (XMenuDestroy): Free the help_text member.
+
+2000-01-27  Gerd Moellmann  <gerd@gnu.org>
+
+       * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
+       XMenuAddSelection.  Pass help callback to XMenuActivate.
+       (menu_help_callback) [!USE_X_TOOLKIT]: New function.
+
+2000-01-27  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
+       and EMACS_SET_USECS.
+
+2000-01-26  Dave Love  <fx@gnu.org>
+
+       * editfns.c (Fchar_after, Fchar_before): Doc fix.
+
+       * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
+       an error may be signalled.
+
+2000-01-26  Gerd Moellmann  <gerd@gnu.org>
+
+       * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
+       LD_SWITCH_SYSTEM inherited from irix5-0.h.
+
+       * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
+
+2000-01-25  Gerd Moellmann  <gerd@gnu.org>
+
+       * charset.c (Fstring): If there is a multibyte char among
+       the args, always return a multibyte string.
+
+2000-01-25  Gerd Moellmann  <gerd@gnu.org>
+
+       * sysdep.c (sys_select): Turn atimers off and on instead of
+       recording and restoring old alarm handler
+
+       * process.c (toplevel): Include atimer.h.
+       (create_process_1): Rewritten.
+       (create_process): Use atimers instead of alarm.
+       (wait_reading_process_input) [hpux]: Turn atimers off instead
+       of turning off SIGALRM.
+       (wait_reading_process_input): Turn off atimers instead off
+       calling stop_polling.
+
+       * emacs.c (main): Call init_atimer.
+
+       * keyboard.c (toplevel): Include systime.h and atimer.h.
+       (polling_for_input): Removed because unused.
+       (input_poll_signal) [POLL_FOR_INPUT]: Removed.
+       (poll_timer): New variable.
+       (poll_for_input, poll_for_input_1): New functions.
+       (start_polling, stop_polling): Rewritten.
+
+       * keyboard.h (polling_for_input): Removed.
+
+       * atimer.h, atimer.c: New files.
+
+       * Makefile.in (obj): Add atimer.o.
+       (atimer.o): New target.
+
+       * blockinput.h (pending_atimers): Add extern declaration.
+       (UNBLOCK_INPUT): Rewritten.  Handle pending atimers.
+
+       * lisp.h (popup_activated_flag): Add extern declaration.
+
+       * xmenu.c (popup_activated_flag): Make externally visible.
+       (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
+       (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
+
+       * xterm.c (toplevel): Include atimer.h.
+       (toolkit_scroll_bar_interaction): New variable.
+       (Fxt_process_timeouts): Removed.
+       (x_process_timeouts): New function.
+       (xt_action_hook): Clear toolkit_scroll_bar_interaction.
+       (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
+       (x_make_frame_visible): Call poll_for_input_1 instead of
+       input_poll_signal.  Don't call alarm.
+       (x_initialize): Install timer calling x_process_timeouts.
+
+2000-01-24  Dave Love  <fx@gnu.org>
+
+       * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
+       Don't use -cckr -- apparently not now necessary.
+
+2000-01-24  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * msdos.c (IT_menu_display): Truncate long menu lines at the right
+       screen boundary.
+
+2000-01-23  Jason Rumney  <jasonr@gnu.org>
+
+       * w32fns.c (w32_defined_color): Apply gamma correction before
+       trying to map to the palette.
+       (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
+       to w32_clear_rect.
+
+       * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
+       here. Callers changed to always pass real device context.
+       (w32_draw_bitmap): Likewise.
+       (w32_get_glyph_overhangs): Likewise.
+       (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
+       (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
+       pfnSetScrollInfo and SetScrollRange.
+       (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
+       back into MULE characters after decoding them.
+       (x_get_glyph_face_and_encoding): Likewise.
+       (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
+       GetCharABCWidthsW fails, since this is defined on Windows 9x.
+       (x_produce_glyphs): Calculate per char metrics for a character
+       that we know exists in default font when font_not_found_p is true.
+
+2000-01-22  Jason Rumney <jasonr@gnu.org>
+
+       * makefile.nt (intervals.obj, composite.obj): New modules.
+       (composite.h): Added as dependency where appropriate.
+
+       * w32gui.h (XGCValue): New struct for emulating X GCs.
+
+       * w32term.h (XCharStruct): New struct for emulating X.
+
+       * w32console.c (turn_on_face, turn_off_face): New functions.
+       (change_line_highlight): New prototype for new redisplay.
+       (write_glyphs): Support multibyte text. Support faces.
+
+       * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
+
+       * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
+       throughout. struct frame * in place of FRAME_PTR.
+       Skeleton support for images, toolbars, tooltips from xfns.c.
+       (Fx_create_frame): Use system default for default scroll bar width.
+       (w32_get_arg): Renamed from x_get_arg.
+       (Fx_file_dialog): New function.
+       (w32_list_fonts): Check cache before asking system.
+       (Vw32_enable_synthesized_fonts): New variable.
+       (Vw32_enable_italics): Obsolete, removed.
+
+       * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
+       Use SELECTED_FRAME macro.
+
+       * w32menu.c: Add skeleton support for help strings on menus.
+       (add_menu_item): Native checkbox and radio support added, but not
+       yet enabled due to bugs.
+       (push_menu_item): Add parameters type, selection and help.
+       Callers updated.
+       Formatting changes to reduce unnecessary diffs with xmenu.c.
+
+       * w32select.c (Fw32_set_clipboard_data): Update call to
+       find_charset_in_str.
+
+       * w32term.c: Complete rewrite for new redisplay based on new
+       xterm.c with necessary sections merged back in from old w32term.c.
+
+2000-01-21  Richard M. Stallman  <rms@gnu.org>
+
+       * data.c (set_internal): Further fix in same criterion.
+
+2000-01-20  Richard M. Stallman  <rms@gnu.org>
+
+       * data.c (set_internal): Fix the criteria for whether
+       to swap out the old cached binding.
+
+2000-01-19  Dave Love  <fx@gnu.org>
+
+       * lread.c: (syms_of_lread) [user-init-file]: Doc change.
+
+2000-01-18  Kenichi Handa  <handa@etl.go.jp>
+
+       * regex.c (re_compile_fastmap): While checking a range table for
+       `charset', skip flag bits for a character class correctly.
+
+2000-01-17  Gerd Moellmann  <gerd@gnu.org>
+
+       * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
+
+       * xfns.c (x_window): Call lw_create_widget with new parameter list.
+
+       * widget.c (EmacsFrameSetCharSize): Change size of children first
+       because of problems with main window geometry management under Lesstif.
+
+       * xmenu.c (enum menu_item_idx): New enumeration replacing defines
+       MENU_ITEMS_ITEM_.*.
+       (MENU_ITEMS_ITEM_HELP): New enumerator.
+       (push_menu_item): Add parameter HELP.  Record help in menu_items.
+       (single_menu_item, single_submenu, list_of_items): Call
+       push_menu_item with new parameter.
+       (single_submenu): Set help string in widget value.
+       (menu_highlight_callback): New function.
+       (set_frame_menubar): Call lw_create_widget with new
+       parameter list.
+       (xmenu_show, xdialog_show): Ditto.
+
+2000-01-13  Gerd Moellmann  <gerd@gnu.org>
+
+       * sound.c (Fplay_sound): Improve doc string.
+
+2000-01-11  Richard M. Stallman  <rms@gnu.org>
+
+       * lisp.h (set_internal): Enter the new arg.
+
+       * eval.c (specbind): Record buffer-local variables specially,
+       indicating which buffer's binding was saved.
+       (unbind_to): Restore buffer-local variables specially
+       in the proper buffer.
+
+       * data.c (set_internal): New arg BUF.
+
+       * eval.c (specbind, unbind_to): Pass new arg to set_internal.
+       * data.c (Fset): Pass new arg to set_internal.
+       * bytecode.c (Fbyte_code): Pass new arg to set_internal.
+
+2000-01-11  Gerd Moellmann  <gerd@gnu.org>
+
+       * .gdbinit: Adapt to new strings.  Add xbacktrace, xreload, xprintsym.
+
+2000-01-11  Richard M. Stallman  <rms@gnu.org>
+
+       * minibuf.c (Ftry_completion): Doc fix.
+
+2000-01-11  Gerd Moellmann  <gerd@gnu.org>
+
+       * keyboard.c (Fclear_this_command_keys): Clear recent_keys
+       vector, too.
+
+2000-01-11  Andreas Schwab  <schwab@suse.de>
+
+       * coding.c (code_convert_region): Initialize total_skip.
+
+2000-01-08  Dave Love  <fx@gnu.org>
+
+       * eval.c (Fuser_variable_p): Check customizability too.
+
+2000-01-07  Gerd Moellmann  <gerd@gnu.org>
+
+       * minibuf.c (Fcompleting_read): Doc fix.
+
+2000-01-05  Gerd Moellmann  <gerd@gnu.org>
+
+       * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
+       -L /usr/local/lib.
+
+       * xfns.c (x_create_im): New function to set IM and IC of a frame.
+       Check that input style is supported before trying to create an
+       IC for it.
+       (x_window): Call x_create_im.
+
+2000-01-04  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfns.c (current_gif_memory_src): New variable.
+       (gif_load): Record the address of the current memory source
+       in current_gif_memory_src.
+       (gif_read_from_memory): Use current_gif_memory_src.
+
+       * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
+       macros statement form.
+
+       * sound.c (struct sound): Renamed from struct sound_file.
+       (struct sound): Add members `data' and `header_size'.
+       (enum sound_attr): Add SOUND_DATA.
+       (current_sound, current_sound_device): Variables renamed from
+       sound_file and sound_device.
+       (parse_sound): Parse :data.
+       (parse_sound): Handle sound data in strings.
+       (find_sound_type): Function renamed from find_sound_file_type.
+       (wav_init, au_init): Fail if sound's header_size is smaller than
+       needed header size.
+       (wav_play, au_play): Play sounds from string data.
+
+       * puresize.h (BASE_PURE_SIZE): Increase to 600000.
+
+       * lisp.h: Add prototype for allocate_string_data.
+
+       * alloc.c (Fgarbage_collect): Return number of live and free strings.
+
+       * alloc.c (mark_buffer): Remove code in #if 0.
+       (gc_sweep): Ditto.
+       (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
+       (strings_consed): New variable.
+       (allocate_string): Set it.
+       (syms_of_alloc): Add DEFVAR_INT for strings_consed.
+       (Fmemory_use_counts): Return strings_consed.  Use Flist.
+
+       * alloc.c: General cleanup in comments etc.  Remove conditional
+       compilation for `standalone'.
+
+       * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
+
+       * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
+       (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
+       (DONT_COPY_FLAG): Removed.
+       (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
+       (struct sdata, struct sblock): New
+       (struct string_block): Rewritten.
+       (STRINGS_IN_STRING_BLOCK): New macro.
+       (oldest_sblock, current_sblock, total_strings, total_free_strings)
+       (large_sblocks, string_blocks, string_free_list): New variables.
+       (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
+       (init_strings): Rewritten.
+       (allocate_string, allocate_string_data, compact_small_strings)
+       (free_large_strings, sweep_strings): New functions.
+       (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
+       (struct string_block_head, current_string_block)
+       (first_string_block, large_string_blocks, STRING_FULLSIZE)
+       (STRING_PAD): Removed.
+       (make_uninit_multibyte_string, make_pure_string): Rewritten.
+       (Fgarbage_collect): Don't set mark bit in large strings.
+       (mark_object): Mark strings differently.  Mark symbol names
+       differently.
+       (survives_gc_p): Test marked strings differently.
+       (gc_sweep): Sweep strings differently, unmark strings in
+       symbol names.
+       (compact_strings): Removed.
+
+2000-01-04  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
+       Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
+
+2000-01-04  Kenichi Handa  <handa@etl.go.jp>
+
+       * fileio.c (Finsert_file_contents): Signal error if visiting file
+       in a non-empty buffer.
+
+       * term.c (encode_terminal_code): Fix the previous change.
+
+2000-01-03  Gerd Moellmann  <gerd@gnu.org>
+
+       * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
+       Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
+
+       * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
+
+2000-01-03  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
+       need to test for MSDOS frames.
+
+2000-01-03  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * dosfns.c (unspecified_colors): Remove.
+       (msdos_stdcolor_idx): Use global variables unspecified_fg and
+       unspecified_bg.
+       (msdos_stdcolor_name): Return strings for unspecified fore- and
+       back-ground colors.
+
+       * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
+       (syms_of_xfaces): Remove their staticpro's.
+       (tty_color_name): Return Lisp strings for unspecified fore- and
+       back-ground colors.
+       (Finternal_set_lisp_face_attribute): Remove the special treatment
+       for Qunspecified_{f,b}g.
+       (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
+
+2000-01-03  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (reseat_at_next_visible_line_start): Position before
+       newline only if ending up on a newline.
+       (next_element_from_ellipsis): Return success.  Handle case of
+       displaying no ellipsis.  Fix case of ellipsis defined in display table.
+       (next_element_from_buffer): Return 0 if next_element_from_ellipsis
+       returns 0.
+
+2000-01-03  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
+       (Fcolor_supported_p): Renamed from face-color-supported-p.
+
+2000-01-02  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * xfaces.c (tty_defined_color): Pass frame to tty-color-desc.  The
+       list of colors renamed to tty-defined-color-alist.
+       (tty_color_name): Pass the frame to tty-color-by-index.
+       (realize_tty_face): tty-color-alist is now a function which
+       accepts the frame as argument.
+
+       * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
+
+2000-01-02  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * term.c (insert_glyphs): Pass glyph, not &glyph, to
+       encode_terminal_code.
+
+2000-01-02  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * dispnew.c (mode_line_string): Support termcap frames as well.
+
+2000-01-01  Gerd Moellmann  <gerd@gnu.org>
+
+       * syntax.c (Fforward_word): Undo previous change.
+
+       * editfns.c (Fconstrain_to_field): Don't constrain if
+       inhibit-field-text-motion is non-nil.
+       (Fline_beginning_position): Undo previous change.
+       (Fline_end_position): Ditto.
+
+       * syntax.c (Fforward_word): Notice field boundaries only if
+       inhibit-field-text-motion is nil.
+
+       * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
+
+       * editfns.c (Vinhibit_field_text_motion): New variable.
+       (inhibit-field-text-motion): New DEFVAR_LISP.
+       (Fline_beginning_position, Fline_end_position): Notice field
+       boundaries only if inhibit-field-text-motion is nil.
+
+       * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
+       All calls adjusted.
+       (x_build_heuristic_mask): Likewise.
+       (xbm_load_image_from_file): Change error output.
+       (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
+       (gif_load, gs_load, x_kill_gs_process): Ditto.
+
+       * xfns.c (gif_load): Avoid sign extension and thus out of bounds
+       color indices when accessing raster pixels.
+       (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
+       one of :file or :data.
+       (enum pbm_keyword_index): Add PBM_DATA.
+       (pbm_format): Add :data.
+       (pbm_image_p): Allow either :file or :data.
+       (pbm_read_file): New function.
+       (pbm_scan_number): Rewritten to read from string.
+       (pbm_load): Support :data.
+
+See ChangeLog.8 for earlier changes.
+
+;; Local Variables:
+;; coding: iso-2022-7bit
+;; End:
+
+    Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+  Copying and distribution of this file, with or without modification,
+  are permitted provided the copyright notice and this notice are preserved.