]> 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:42:54 +0000 (12:42 +0000)
committerGerd Moellmann <gerd@gnu.org>
Fri, 28 Dec 2001 12:42:54 +0000 (12:42 +0000)
height of the cursor line to the amount to scroll.

src/ChangeLog
src/xdisp.c

index 7a69d4500fb604bb6cbd70ac49549f92be5e135c..6cbd7d570427d3b3019daa94c29b58d4ad023a1e 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-27  Richard M. Stallman  <rms@gnu.org>
 
        * intervals.c (set_point_both): The position after an invisible,
index f64e3eeabf520ac364852a8cbf22f4092313767f..0d25501e1a1a88b762970cec2dbcc959daf99c55 100644 (file)
@@ -9534,13 +9534,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;