aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/message.c11
-rw-r--r--src/nvim/undo.c4
2 files changed, 14 insertions, 1 deletions
diff --git a/src/nvim/message.c b/src/nvim/message.c
index 961bce4bf0..f7c248184e 100644
--- a/src/nvim/message.c
+++ b/src/nvim/message.c
@@ -400,6 +400,17 @@ int smsg_attr(int attr, char *s, ...)
return msg_attr((const char *)IObuff, attr);
}
+int smsg_attr_keep(int attr, char *s, ...)
+ FUNC_ATTR_PRINTF(2, 3)
+{
+ va_list arglist;
+
+ va_start(arglist, s);
+ vim_vsnprintf((char *)IObuff, IOSIZE, s, arglist);
+ va_end(arglist);
+ return msg_attr_keep(IObuff, attr, true, false);
+}
+
/*
* Remember the last sourcing name/lnum used in an error message, so that it
* isn't printed each time when it didn't change.
diff --git a/src/nvim/undo.c b/src/nvim/undo.c
index df0507ed41..1534a943e9 100644
--- a/src/nvim/undo.c
+++ b/src/nvim/undo.c
@@ -2452,7 +2452,9 @@ static void u_undo_end(
}
}
- smsg(_("%" PRId64 " %s; %s #%" PRId64 " %s"),
+ smsg_attr_keep(
+ 0,
+ _("%" PRId64 " %s; %s #%" PRId64 " %s"),
u_oldcount < 0 ? (int64_t)-u_oldcount : (int64_t)u_oldcount,
_(msgstr),
did_undo ? _("before") : _("after"),