* fontset.c (fontset_pattern_regexp): Allocate three more bytes to
[bpt/emacs.git] / src / ChangeLog
index 165f674..614c80f 100644 (file)
@@ -1,3 +1,329 @@
+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.