From 59a58d5ec9b840488282790696d3993ae22baf1b Mon Sep 17 00:00:00 2001 From: Gerd Moellmann Date: Fri, 28 Dec 2001 12:44:24 +0000 Subject: [PATCH] (try_scrolling) : Add the height of the cursor line to the amount to scroll. --- src/ChangeLog | 5 +++++ src/xdisp.c | 12 +++++------- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 7bb24860d70..d1405c5e388 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2001-12-28 Gerd Moellmann + + * xdisp.c (try_scrolling) : Add the + height of the cursor line to the amount to scroll. + 2001-12-21 Eli Zaretskii * coding.c (DECODE_COMPOSITION_END): Fix last change. diff --git a/src/xdisp.c b/src/xdisp.c index 252706d6310..6a5714ee8ef 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -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; -- 2.39.5