patch 9.0.1451: unnecessary redrawing when 'showcmdloc' is not "last"
Problem: Unnecessary redrawing when 'showcmdloc' is not "last".
Solution: Redraw later when "showcmd_is_clear" is set. (Luuk van Baal,
closes #12260)
diff --git a/src/normal.c b/src/normal.c
index 6f947a6..1b5326b 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -913,7 +913,7 @@
msg_col = 0;
}
- old_pos = curwin->w_cursor; // remember where cursor was
+ old_pos = curwin->w_cursor; // remember where the cursor was
// When 'keymodel' contains "startsel" some keys start Select/Visual
// mode.
@@ -1803,9 +1803,19 @@
cursor_off();
if (*p_sloc == 's')
- win_redr_status(curwin, FALSE);
+ {
+ if (showcmd_is_clear)
+ curwin->w_redr_status = TRUE;
+ else
+ win_redr_status(curwin, FALSE);
+ }
else if (*p_sloc == 't')
- draw_tabline();
+ {
+ if (showcmd_is_clear)
+ redraw_tabline = TRUE;
+ else
+ draw_tabline();
+ }
else // 'showcmdloc' is "last" or empty
{
if (!showcmd_is_clear)