]> git.eshelyaron.com Git - emacs.git/commitdiff
xdisp.c (try_scrolling): Fix last change.
authorEli Zaretskii <eliz@gnu.org>
Sat, 19 Jun 2010 11:57:19 +0000 (14:57 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sat, 19 Jun 2010 11:57:19 +0000 (14:57 +0300)
src/xdisp.c

index c111ca2ffa38999f38dc54e1792f9f510a3077eb..d533346c3b629745d4653447db8abb8a5569cbb7 100644 (file)
@@ -13436,14 +13436,17 @@ try_scrolling (window, just_this_one_p, scroll_conservatively,
             the user limited scrolling by a small number of lines, but
             always finds PT if scroll_conservatively is set to a large
             number, such as most-positive-fixnum.  */
-         int slack = min (scroll_max, 10 * FRAME_LINE_HEIGHT (f));
+         int slack = max (scroll_max, 10 * FRAME_LINE_HEIGHT (f));
+         int y_to_move =
+           slack >= INT_MAX - it.last_visible_y
+           ? INT_MAX
+           : it.last_visible_y + slack;
 
          /* Compute the distance from the scroll margin to PT or to
             the scroll limit, whichever comes first.  This should
             include the height of the cursor line, to make that line
             fully visible.  */
-         move_it_to (&it, PT, -1,
-                     it.last_visible_y + slack,
+         move_it_to (&it, PT, -1, y_to_move,
                      -1, MOVE_TO_POS | MOVE_TO_Y);
          dy = line_bottom_y (&it) - y0;