summaryrefslogtreecommitdiffstats
path: root/src/misc1.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/misc1.c')
-rw-r--r--src/misc1.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/misc1.c b/src/misc1.c
index 4c2b55e918..4d7cf60287 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -3092,10 +3092,15 @@ msgmore(n)
long pn;
if (global_busy /* no messages now, wait until global is finished */
- || keep_msg != NULL /* there is a message already, skip this one */
|| !messaging()) /* 'lazyredraw' set, don't do messages now */
return;
+ /* We don't want to overwrite another important message, but do overwrite
+ * a previous "more lines" or "fewer lines" message, so that "5dd" and
+ * then "put" reports the last action. */
+ if (keep_msg != NULL && !keep_msg_more)
+ return;
+
if (n > 0)
pn = n;
else
@@ -3123,6 +3128,7 @@ msgmore(n)
{
set_keep_msg(msg_buf);
keep_msg_attr = 0;
+ keep_msg_more = TRUE;
}
}
}