From 97f8d1de1cfaebd67bc994401da38b003b64b6df Mon Sep 17 00:00:00 2001 From: luukvbaal Date: Sun, 1 Sep 2024 14:19:19 +0200 Subject: vim-patch:9.1.0708: Recursive window update does not account for reset skipcol (#30217) Problem: Window is updated with potentially invalid skipcol in recursive window update path. I.e. cursor outside of visible range in large line that does not fit. Solution: Make sure it is valid (Luuk van Baal). https://github.com/vim/vim/commit/3d5065fc7553c8de3d0555c3085165bdd724663b --- src/nvim/drawscreen.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src') diff --git a/src/nvim/drawscreen.c b/src/nvim/drawscreen.c index 425651b60e..025d8fe721 100644 --- a/src/nvim/drawscreen.c +++ b/src/nvim/drawscreen.c @@ -2453,10 +2453,12 @@ redr_statuscol: recursive = true; curwin->w_valid &= ~VALID_TOPLINE; update_topline(curwin); // may invalidate w_botline again + // New redraw either due to updated topline or reset skipcol. if (must_redraw != 0) { // Don't update for changes in buffer again. int mod_set = curbuf->b_mod_set; curbuf->b_mod_set = false; + curs_columns(curwin, true); win_update(curwin); must_redraw = 0; curbuf->b_mod_set = mod_set; -- cgit