From e0429681aed5448d1c3b8399d152a2b1a05ea6d7 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 1 Jul 2018 16:44:03 +0200 Subject: patch 8.1.0135: undo message delays screen update for CTRL-O u Problem: Undo message delays screen update for CTRL-O u. Solution: Add smsg_attr_keep(). (closes #3125) --- src/message.c | 14 ++++++++++++++ src/proto.h | 6 ++++++ src/undo.c | 2 +- src/version.c | 2 ++ 4 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/message.c b/src/message.c index e46c51401..d5727b135 100644 --- a/src/message.c +++ b/src/message.c @@ -399,6 +399,20 @@ smsg_attr(int attr, char_u *s, ...) return msg_attr(IObuff, attr); } + int +# ifdef __BORLANDC__ +_RTLENTRYF +# endif +smsg_attr_keep(int attr, char_u *s, ...) +{ + va_list arglist; + + va_start(arglist, s); + vim_vsnprintf((char *)IObuff, IOSIZE, (char *)s, arglist); + va_end(arglist); + return msg_attr_keep(IObuff, attr, TRUE); +} + #endif /* diff --git a/src/proto.h b/src/proto.h index 655b72cac..8570af947 100644 --- a/src/proto.h +++ b/src/proto.h @@ -115,6 +115,12 @@ _RTLENTRYF # endif smsg_attr(int, char_u *, ...); +int +# ifdef __BORLANDC__ +_RTLENTRYF +# endif +smsg_attr_keep(int, char_u *, ...); + int # ifdef __BORLANDC__ _RTLENTRYF diff --git a/src/undo.c b/src/undo.c index 117321ea6..be4e22ed6 100644 --- a/src/undo.c +++ b/src/undo.c @@ -2968,7 +2968,7 @@ u_undo_end( } #endif - smsg((char_u *)_("%ld %s; %s #%ld %s"), + smsg_attr_keep(0, (char_u *)_("%ld %s; %s #%ld %s"), u_oldcount < 0 ? -u_oldcount : u_oldcount, _(msgstr), did_undo ? _("before") : _("after"), diff --git a/src/version.c b/src/version.c index 94a17018e..2d0246118 100644 --- a/src/version.c +++ b/src/version.c @@ -789,6 +789,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 135, /**/ 134, /**/ -- cgit v1.2.3