summaryrefslogtreecommitdiff
path: root/src/move.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/move.c')
-rw-r--r--src/move.c28
1 files changed, 16 insertions, 12 deletions
diff --git a/src/move.c b/src/move.c
index 120ee5a55..e9a3eb971 100644
--- a/src/move.c
+++ b/src/move.c
@@ -145,21 +145,25 @@ redraw_for_cursorline(win_T *wp)
# endif
)
{
+ if (wp->w_p_rnu)
+ // win_line() will redraw the number column only.
+ redraw_win_later(wp, VALID);
#ifdef FEAT_SYN_HL
- if (!wp->w_p_rnu && wp->w_redr_type <= VALID && last_cursorline != 0)
+ if (wp->w_p_cul)
{
- // "last_cursorline" may be set for another window, worst case we
- // redraw too much. This is optimized for moving the cursor around
- // in the same window.
- redrawWinline(wp, last_cursorline, FALSE);
- redrawWinline(wp, wp->w_cursor.lnum, FALSE);
- redraw_win_later(wp, VALID);
+ if (wp->w_redr_type <= VALID && last_cursorline != 0)
+ {
+ // "last_cursorline" may be set for another window, worst case
+ // we redraw too much. This is optimized for moving the cursor
+ // around in the same window.
+ redrawWinline(wp, last_cursorline, FALSE);
+ redrawWinline(wp, wp->w_cursor.lnum, FALSE);
+ redraw_win_later(wp, VALID);
+ }
+ else
+ redraw_win_later(wp, SOME_VALID);
+ last_cursorline = wp->w_cursor.lnum;
}
- else
-#endif
- redraw_win_later(wp, SOME_VALID);
-#ifdef FEAT_SYN_HL
- last_cursorline = wp->w_cursor.lnum;
#endif
}
}