summaryrefslogtreecommitdiffstats
path: root/src/ex_docmd.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-09-20 17:12:13 +0100
committerBram Moolenaar <Bram@vim.org>2022-09-20 17:12:13 +0100
commit320d910064320f894a09ffdd1cd800ff5371e97f (patch)
treea95baa62ee0087bf3948c1e30624d7b1a408229d /src/ex_docmd.c
parentccfaa075918639b57925b16902cad339ab39b18c (diff)
patch 9.0.0517: when at the command line :redrawstatus does not work wellv9.0.0517
Problem: When at the command line :redrawstatus does not work well. Solution: Only update the statuslines instead of the screen. (closes #11180)
Diffstat (limited to 'src/ex_docmd.c')
-rw-r--r--src/ex_docmd.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 8cdf601f86..a786ff0cc6 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -8431,12 +8431,15 @@ ex_redrawstatus(exarg_T *eap UNUSED)
status_redraw_all();
else
status_redraw_curbuf();
- if (msg_scrolled)
+ if (msg_scrolled && (State & MODE_CMDLINE))
return; // redraw later
RedrawingDisabled = 0;
p_lz = FALSE;
- update_screen(VIsual_active ? UPD_INVERTED : 0);
+ if (State & MODE_CMDLINE)
+ redraw_statuslines();
+ else
+ update_screen(VIsual_active ? UPD_INVERTED : 0);
RedrawingDisabled = r;
p_lz = p;
out_flush();