aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/message.c
diff options
context:
space:
mode:
authorVille Hakulinen <ville.hakulinen@gmail.com>2019-06-03 00:38:19 +0300
committerBjörn Linse <bjorn.linse@gmail.com>2019-06-02 23:38:19 +0200
commit40218d118030d0104ede11ad2956ef150e9a7573 (patch)
treeab22d1c1de7436089de3c2d80a33bfef7260f804 /src/nvim/message.c
parent8a33cb32bac1632a98d13df7865faacadfc41391 (diff)
downloadrneovim-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.c23
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;
}
}