]> git.eshelyaron.com Git - emacs.git/commitdiff
(try_scrolling) <PT below scroll margin>: Add the
authorGerd Moellmann <gerd@gnu.org>
Fri, 28 Dec 2001 12:44:24 +0000 (12:44 +0000)
committerGerd Moellmann <gerd@gnu.org>
Fri, 28 Dec 2001 12:44:24 +0000 (12:44 +0000)
height of the cursor line to the amount to scroll.

src/ChangeLog
src/xdisp.c

index 7bb24860d7042118864b02faa683bd8301fb8bfd..d1405c5e388c422de32ab1a73ef1a5e6dc190477 100644 (file)
@@ -1,3 +1,8 @@
+2001-12-28  Gerd Moellmann  <gerd@gnu.org>
+
+       * xdisp.c (try_scrolling) <PT below scroll margin>: Add the
+       height of the cursor line to the amount to scroll.
+
 2001-12-21  Eli Zaretskii  <eliz@is.elta.co.il>
 
        * coding.c (DECODE_COMPOSITION_END): Fix last change.
index 252706d631054f1e0216f95347421636e061db66..6a5714ee8ef725356cfff0a9366de397abc1ed5b 100644 (file)
@@ -9485,13 +9485,11 @@ try_scrolling (window, just_this_one_p, scroll_conservatively,
       y0 = it.current_y;
       move_it_to (&it, PT, 0, it.last_visible_y, -1,
                  MOVE_TO_POS | MOVE_TO_X | MOVE_TO_Y);
-      
-      /* With a scroll_margin of 0, scroll_margin_pos is at the window
-        end, which is one line below the window.  The iterator's
-        current_y will be same as y0 in that case, but we have to
-        scroll a line to make PT visible.  That's the reason why 1 is
-        added below.  */
-      dy = 1 + it.current_y - y0;
+
+      /* To make point visible, we have to move the window start
+        down so that the line the cursor is in is visible, which
+        means we have to add in the height of the cursor line.  */
+      dy = line_bottom_y (&it) - y0;
       
       if (dy > scroll_max)
        return SCROLLING_FAILED;