+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