(Fx_hide_tip): Avoid unnecessary work when there's
[bpt/emacs.git] / src / ChangeLog
index a5fb464..871b0e7 100644 (file)
@@ -1,3 +1,379 @@
+2000-12-11  Gerd Moellmann  <gerd@gnu.org>
+
+       * 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
@@ -7,7 +383,7 @@
 
        * fns.c (Fmd5): Doc fix.
 
-2000-10-07  Simon Josefsson  <simon@josefsson.org>
+2000-11-30  Simon Josefsson  <simon@josefsson.org>
 
        * fns.c (Fmd5): New function.
        (syms_of_fns): Defsubr md5.