# HG changeset patch # User Gerd Moellmann # Date 1009543355 0 # Node ID be1db1ed86b1e121816bbe8ac5ab3dbde8913a2a # Parent c64a96f6a814ec12c97887e2a225087cb92fae16 (try_scrolling) : Add the height of the cursor line to the amount to scroll. diff -r c64a96f6a814 -r be1db1ed86b1 src/xdisp.c --- a/src/xdisp.c Fri Dec 28 12:20:11 2001 +0000 +++ b/src/xdisp.c Fri Dec 28 12:42:35 2001 +0000 @@ -9534,13 +9534,11 @@ 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;