summaryrefslogtreecommitdiffstats
path: root/src/ex_getln.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-04-01 18:47:14 +0200
committerBram Moolenaar <Bram@vim.org>2021-04-01 18:47:14 +0200
commitce0b75711afb3ff260967a0843bca46ec09604b5 (patch)
treeea0274d59cb6eab9cf76bb91f7055f7a89a52663 /src/ex_getln.c
parent49c51b825a7435a750e64f7f0ebd09166e8559df (diff)
patch 8.2.2686: status line is not updated when going to cmdline modev8.2.2686
Problem: Status line is not updated when going to cmdline mode. Solution: Redraw status lines if 'statusline' is set and going to status line mode. (based on patch from Justin M. Keyes et al., closes #8044)
Diffstat (limited to 'src/ex_getln.c')
-rw-r--r--src/ex_getln.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/ex_getln.c b/src/ex_getln.c
index 2be8156eaa..58cd6c3580 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -1706,6 +1706,15 @@ getcmdline_int(
// and execute commands. Display may be messed up a bit.
if (did_emsg)
redrawcmd();
+
+ // Redraw the statusline in case it uses the current mode using the mode()
+ // function.
+ if (!cmd_silent && msg_scrolled == 0 && *p_stl != NUL)
+ {
+ curwin->w_redr_status = TRUE;
+ redraw_statuslines();
+ }
+
did_emsg = FALSE;
got_int = FALSE;