patch 8.2.4614: redrawing too much when 'cursorline' is set
Problem: Redrawing too much when 'cursorline' is set and jumping around.
Solution: Rely on win_update() to redraw the current and previous cursor
line, do not mark lines as modified. (closes #9996)
diff --git a/src/drawline.c b/src/drawline.c
index 747a1e3..679e4ca 100644
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -945,8 +945,7 @@
if (wp->w_p_cul && lnum == wp->w_cursor.lnum)
{
// Do not show the cursor line in the text when Visual mode is active,
- // because it's not clear what is selected then. Do update
- // w_last_cursorline.
+ // because it's not clear what is selected then.
if (!(wp == curwin && VIsual_active)
&& wp->w_p_culopt_flags != CULOPT_NBR)
{
@@ -971,18 +970,14 @@
else
# endif
line_attr = cul_attr;
- wp->w_last_cursorline = wp->w_cursor.lnum;
}
else
{
line_attr_save = line_attr;
- wp->w_last_cursorline = 0;
margin_columns_win(wp, &left_curline_col, &right_curline_col);
}
area_highlighting = TRUE;
}
- else
- wp->w_last_cursorline = wp->w_cursor.lnum;
}
#endif