After entering a crypt key would need to hit return to continue.
When silencing a message it would still clear a kept message.
diff --git a/src/message.c b/src/message.c
index 3b1b458..c33b173 100644
--- a/src/message.c
+++ b/src/message.c
@@ -1135,8 +1135,11 @@
{
int did_return = FALSE;
- vim_free(keep_msg);
- keep_msg = NULL; /* don't display old message now */
+ if (!msg_silent)
+ {
+ vim_free(keep_msg);
+ keep_msg = NULL; /* don't display old message now */
+ }
#ifdef FEAT_EVAL
if (need_clr_eos)
diff --git a/src/misc2.c b/src/misc2.c
index 3c25a1f..8492b3e 100644
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -4016,9 +4016,9 @@
}
/* since the user typed this, no need to wait for return */
- need_wait_return = FALSE;
if (msg_didout)
msg_putchar('\n');
+ need_wait_return = FALSE;
msg_didout = FALSE;
free_crypt_key(p2);