diff options
-rw-r--r-- | src/window.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/window.c b/src/window.c index 2ea7cd1d6dd..3535e50673e 100644 --- a/src/window.c +++ b/src/window.c @@ -4154,7 +4154,12 @@ window_scroll_pixel_based (window, n, whole, noerror) in the scroll margin at the top. */ move_it_to (&it, PT, -1, -1, -1, MOVE_TO_POS); while (it.current_y < this_scroll_margin) - move_it_by_lines (&it, 1, 1); + { + int prev = it.current_y; + move_it_by_lines (&it, 1, 1); + if (prev == it.current_y) + break; + } SET_PT_BOTH (IT_CHARPOS (it), IT_BYTEPOS (it)); } else if (n < 0) |