diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/nvim/move.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/nvim/move.c b/src/nvim/move.c index d912858420..afd569ba7d 100644 --- a/src/nvim/move.c +++ b/src/nvim/move.c @@ -2490,7 +2490,10 @@ int pagescroll(Direction dir, int count, bool half) if (!nochange) { // Place cursor at top or bottom of window. validate_botline(curwin); - curwin->w_cursor.lnum = (dir == FORWARD ? curwin->w_topline : curwin->w_botline - 1); + linenr_T lnum = (dir == FORWARD ? curwin->w_topline : curwin->w_botline - 1); + // In silent Ex mode the value of w_botline - 1 may be 0, + // but cursor lnum needs to be at least 1. + curwin->w_cursor.lnum = MAX(lnum, 1); } } |