changeset 80689:7623a8fa7f79

(redisplay_window): Don't enforce scroll-margin when forcing a window start.
author Chong Yidong <cyd@stupidchicken.com>
date Tue, 05 Aug 2008 22:46:31 +0000
parents 3d2552ae5c53
children 4dbe505b1f61
files src/xdisp.c
diffstat 1 files changed, 4 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/xdisp.c	Tue Aug 05 22:46:07 2008 +0000
+++ b/src/xdisp.c	Tue Aug 05 22:46:31 2008 +0000
@@ -13065,7 +13065,6 @@
     {
       /* We set this later on if we have to adjust point.  */
       int new_vpos = -1;
-      int val;
 
       w->force_start = Qnil;
       w->vscroll = 0;
@@ -13099,16 +13098,15 @@
 
       /* Redisplay, then check if cursor has been set during the
 	 redisplay.  Give up if new fonts were loaded.  */
-      val = try_window (window, startp, 1);
-      if (!val)
+      /* We used to issue a CHECK_MARGINS argument to try_window here,
+	 but this causes scrolling to fail when point begins inside
+	 the scroll margin (bug#148) -- cyd  */
+      if (!try_window (window, startp, 0))
 	{
 	  w->force_start = Qt;
 	  clear_glyph_matrix (w->desired_matrix);
 	  goto need_larger_matrices;
 	}
-      /* Point was outside the scroll margins.  */
-      if (val < 0)
-	new_vpos = window_box_height (w) / 2;
 
       if (w->cursor.vpos < 0 && !w->frozen_window_start_p)
 	{