emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r100620: xdisp.c (try_scrolling): Fix


From: Eli Zaretskii
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r100620: xdisp.c (try_scrolling): Fix last change.
Date: Sat, 19 Jun 2010 14:57:19 +0300
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 100620
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Sat 2010-06-19 14:57:19 +0300
message:
  xdisp.c (try_scrolling): Fix last change.
modified:
  src/xdisp.c
=== modified file 'src/xdisp.c'
--- a/src/xdisp.c       2010-06-19 09:40:15 +0000
+++ b/src/xdisp.c       2010-06-19 11:57:19 +0000
@@ -13436,14 +13436,17 @@
             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;
 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]