+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.