Fix bug #8468 with redisplay when scroll-margin > 0.
[bpt/emacs.git] / src / ChangeLog
index a4312ef..c164c6b 100644 (file)
@@ -1,3 +1,169 @@
+2011-04-11  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (redisplay_window): Don't try to determine the character
+       position of the scroll margin if the window start point w->startp
+       is outside the buffer's accessible region.
+
+2011-03-30  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (syms_of_xdisp) <scroll-conservatively>: Document the
+       threshold of 100 lines for never-recentering scrolling.
+
+2011-03-29  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (try_scrolling): When scrolling down aggressively,
+       scroll one screen line less, to make sure we end up at the margin
+       for fractions close to 1.
+
+2011-03-28  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (try_scrolling): When point is above the window, allow
+       searching as far as scroll_max, or one screenful, to compute
+       vertical distance from PT to the scroll margin position.  This
+       prevents try_scrolling from unnecessarily failing when
+       scroll-conservatively is set to a value slightly larger than the
+       window height.
+
+2011-03-27  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (try_scrolling): Clean up the case of PT below the
+       margin at bottom of window: scroll_max can no longer be INT_MAX.
+       (redisplay_window): Find character position of margin and use
+       that, rather than adding margin to PT.
+
+2011-03-26  Eli Zaretskii  <eliz@gnu.org>
+
+       * xdisp.c (redisplay_window): Don't check buffer's clip_changed
+       flag as a prerequisite for invoking try_scrolling.  (Bug#6671)
+       (try_scrolling): Limit scrolling to 100 screen lines.
+       (SCROLL_LIMIT): New macro.
+       (try_scrolling): Use it when setting scroll_limit.
+       (redisplay_window): Even when falling back on "recentering",
+       position point in the window according to scroll-conservatively,
+       scroll-margin, and scroll-*-aggressively variables.  (Bug#6671)
+       (try_scrolling): When aggressive scrolling is in use, don't let
+       point enter the opposite scroll margin as result of the scroll.
+       (redisplay_window): Fix operator precedence in condition.
+
+2011-03-26  Juanma Barranquero  <lekktu@gmail.com>
+
+       * w32.c (read_unc_volume): Use parameter `henum', instead of
+       global variable `wget_enum_handle'.
+
+       * keymap.c (describe_vector): Remove parameters `indices' and
+       `char_table_depth', unused since 2002-03-01T01:43:26Z!handa@m17n.org.
+       (describe_map, Fdescribe_vector): Adjust calls to `describe_vector'.
+
+       * keyboard.h (timer_check, show_help_echo): Remove unused parameters.
+
+       * keyboard.c (timer_check): Remove parameter `do_it_now',
+       unused since 1996-04-12T06:01:29Z!rms@gnu.org.
+       (show_help_echo): Remove parameter `ok_to_overwrite_keystroke_echo',
+       unused since 2008-04-19T19:30:53Z!monnier@iro.umontreal.ca.
+
+       * keyboard.c (read_char):
+       * w32menu.c (w32_menu_display_help):
+       * xmenu.c (show_help_event, menu_help_callback):
+       Adjust calls to `show_help_echo'.
+
+       * gtkutil.c (xg_maybe_add_timer):
+       * keyboard.c (readable_events):
+       * process.c (wait_reading_process_output):
+       * xmenu.c (x_menu_wait_for_event): Adjust calls to `timer_check'.
+
+       * insdel.c (adjust_markers_gap_motion):
+       Remove; no-op since 1998-01-02T21:29:48Z!rms@gnu.org.
+       (gap_left, gap_right): Don't call it.
+
+2011-03-25  Chong Yidong  <cyd@stupidchicken.com>
+
+       * xdisp.c (handle_fontified_prop): Discard changes to clip_changed
+       incurred during fontification.
+
+2011-03-25  Juanma Barranquero  <lekktu@gmail.com>
+
+       * buffer.c (defvar_per_buffer): Remove unused parameter `doc'.
+       (DEFVAR_PER_BUFFER): Don't pass it.
+
+       * dispnew.c (row_equal_p, add_row_entry): Remove unused parameter `w'.
+       (scrolling_window): Don't pass it.
+
+2011-03-25  Juanma Barranquero  <lekktu@gmail.com>
+
+       * dispextern.h (glyph_matric): Use #if GLYPH_DEBUG, not #ifdef.
+
+       * fileio.c (check_executable) [DOS_NT]: Remove unused variables `len'
+       and `suffix'.
+       (Fset_file_selinux_context) [HAVE_LIBSELINUX]: Move here declaration
+       of variables specific to SELinux and computation of `encoded_absname'.
+
+       * image.c (XPutPixel): Remove unused variable `height'.
+
+       * keyboard.c (make_lispy_event): Remove unused variable `hpos'.
+
+       * unexw32.c (get_section_info): Remove unused variable `section'.
+
+       * w32.c (stat): Remove unused variables `drive_root' and `devtype'.
+       (system_process_attributes): Remove unused variable `sess'.
+       (sys_read): Remove unused variable `err'.
+
+       * w32fns.c (top): Wrap variables with #if GLYPH_DEBUG, not #ifdef.
+       (w32_wnd_proc): Remove unused variable `isdead'.
+       (unwind_create_frame): Use #if GLYPH_DEBUG, not #ifdef.
+       (Fx_server_max_request_size): Remove unused variable `dpyinfo'.
+       (x_create_tip_frame): Remove unused variable `tem'.
+
+       * w32inevt.c (w32_console_read_socket):
+       Remove unused variable `no_events'.
+
+       * w32term.c (x_draw_composite_glyph_string_foreground):
+       Remove unused variable `width'.
+
+2011-03-24  Juanma Barranquero  <lekktu@gmail.com>
+
+       * w32term.c (x_set_glyph_string_clipping):
+       Don't pass uninitialized region to CombineRgn.
+
+2011-03-23  Juanma Barranquero  <lekktu@gmail.com>
+
+       * w32fns.c (x_set_menu_bar_lines): Remove unused variable `olines'.
+       (w32_wnd_proc): Pass NULL to Windows API, not uninitialized buffer.
+       (Fx_close_connection): Remove unused variable `i'.
+
+       * w32font.c (w32font_draw): Return number of glyphs.
+       (w32font_open_internal): Remove unused variable `i'.
+       (w32font_driver): Add missing initializer.
+
+       * w32menu.c (utf8to16): Remove unused variable `utf16'.
+       (fill_in_menu): Remove unused variable `items_added'.
+
+       * w32term.c (last_mouse_press_frame): Remove static global variable.
+       (w32_clip_to_row): Remove unused variable `f'.
+       (x_delete_terminal): Remove unused variable `i'.
+
+       * w32uniscribe.c (uniscribe_shape): Remove unused variable `nclusters'.
+       (NOTHING): Remove unused static global variable.
+       (uniscribe_check_otf): Remove unused variable `table'.
+       (uniscribe_font_driver): Add missing initializers.
+
+2011-03-23  Julien Danjou  <julien@danjou.info>
+
+       * term.c (Fsuspend_tty, Fresume_tty):
+       * minibuf.c (read_minibuf, run_exit_minibuf_hook):
+       * window.c (temp_output_buffer_show):
+       * insdel.c (signal_before_change):
+       * frame.c (Fhandle_switch_frame):
+       * fileio.c (Fdo_auto_save):
+       * emacs.c (Fkill_emacs):
+       * editfns.c (save_excursion_restore):
+       * cmds.c (internal_self_insert):
+       * callint.c (Fcall_interactively):
+       * buffer.c (Fkill_all_local_variables):
+       * keyboard.c (Fcommand_execute, Fsuspend_emacs, safe_run_hooks_1):
+       Use Frun_hooks.
+       (command_loop_1): Use Frun_hooks.  Call safe_run_hooks
+       unconditionnaly since it does the check itself.
+
 2011-03-23  Paul Eggert  <eggert@cs.ucla.edu>
 
        Fix more problems found by GCC 4.5.2's static checks.
        (POSIX_SIGNALS): Do not define.
 
        Remove support for old UNIX System V systems.
-       * s/unixware.h: Add the contents of s/usg-5-4-2.h.
-       * s/usg-5-4-2.h: Remove.
+       * s/unixware.h: Add the contents of s/usg5-4-2.h.
+       * s/usg5-4-2.h: Remove.
 
        Remove support for Solaris on PPC and for old versions.
        * s/sol2-6.h: Add the contents of s/sol-2.3.h, s/sol-2.4.h, s/sol-2.5.h.