diff options
author | Ville Hakulinen <ville.hakulinen@gmail.com> | 2019-06-03 00:38:19 +0300 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2019-06-02 23:38:19 +0200 |
commit | 40218d118030d0104ede11ad2956ef150e9a7573 (patch) | |
tree | ab22d1c1de7436089de3c2d80a33bfef7260f804 /src/nvim/message.c | |
parent | 8a33cb32bac1632a98d13df7865faacadfc41391 (diff) | |
download | rneovim-40218d118030d0104ede11ad2956ef150e9a7573.tar.gz rneovim-40218d118030d0104ede11ad2956ef150e9a7573.tar.bz2 rneovim-40218d118030d0104ede11ad2956ef150e9a7573.zip |
Make sure msg_clear is sent after confirm message (#10065)
Diffstat (limited to 'src/nvim/message.c')
-rw-r--r-- | src/nvim/message.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/src/nvim/message.c b/src/nvim/message.c index 882fce504b..a597fb4866 100644 --- a/src/nvim/message.c +++ b/src/nvim/message.c @@ -926,8 +926,9 @@ void ex_messages(void *const eap_p) */ void msg_end_prompt(void) { - need_wait_return = FALSE; - emsg_on_display = FALSE; + msg_ext_clear_later(); + need_wait_return = false; + emsg_on_display = false; cmdline_row = msg_row; msg_col = 0; msg_clr_eos(); @@ -2791,12 +2792,22 @@ void msg_ext_clear(bool force) msg_ext_keep_after_cmdline = false; } -void msg_ext_check_prompt(void) +void msg_ext_clear_later(void) +{ + if (msg_ext_is_visible()) { + msg_ext_need_clear = true; + if (must_redraw < VALID) { + must_redraw = VALID; + } + } +} + +void msg_ext_check_clear(void) { - // Redraw after cmdline is expected to clear messages. - if (msg_ext_did_cmdline) { + // Redraw after cmdline or prompt is expected to clear messages. + if (msg_ext_need_clear) { msg_ext_clear(true); - msg_ext_did_cmdline = false; + msg_ext_need_clear = false; } } |