From b480b0cd5d128ad8f483b26780b11dee66c73766 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Tue, 30 Dec 2025 23:35:32 -0500 Subject: [PATCH] vim-patch:8.2.3159: cursor displayed in wrong position after deleting line Problem: Cursor displayed in wrong position after deleting line. Solution: When deleting lines do not approximate botline. (fixes vim/vim#8559) https://github.com/vim/vim/commit/5bea41dea34bcc73c4efb1b554ad0a2018966ecc Co-authored-by: Bram Moolenaar --- src/nvim/change.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/nvim/change.c b/src/nvim/change.c index fc2c68d335..4a11078679 100644 --- a/src/nvim/change.c +++ b/src/nvim/change.c @@ -177,9 +177,13 @@ static void changed_lines_invalidate_win(win_T *wp, linenr_T lnum, colnr_T col, changed_cline_bef_curs(wp); } if (wp->w_botline >= lnum) { - // Assume that botline doesn't change (inserted lines make - // other lines scroll down below botline). - approximate_botline_win(wp); + if (xtra < 0) { + invalidate_botline_win(wp); + } else { + // Assume that botline doesn't change (inserted lines make + // other lines scroll down below botline). + approximate_botline_win(wp); + } } // If lines have been inserted/deleted and the buffer has virt_lines, or