patch 9.1.0708: Recursive window update does not account for reset skipcol
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).
closes: #15605
Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/drawscreen.c b/src/drawscreen.c
index 9096c28..1802ade 100644
--- a/src/drawscreen.c
+++ b/src/drawscreen.c
@@ -2774,7 +2774,7 @@
redrawWinline(wp, wp->w_cursor.lnum);
}
#endif
- // New redraw either due to updated topline or due to wcol fix.
+ // New redraw either due to updated topline, wcol fix or reset skipcol.
if (wp->w_redr_type != 0)
{
// Don't update for changes in buffer again.
@@ -2782,6 +2782,7 @@
curbuf->b_mod_set = FALSE;
j = curbuf->b_mod_xlines;
curbuf->b_mod_xlines = 0;
+ curs_columns(TRUE);
win_update(curwin);
curbuf->b_mod_set = i;
curbuf->b_mod_xlines = j;