# HG changeset patch # User Christian Brabandt # Date 1530456306 -7200 # Node ID 487d7bda80eaeb34d952a65ffbecc67254294387 # Parent 7a7664dc9f4c5c577672ad054b5fb1c5f82f989e patch 8.1.0135: undo message delays screen update for CTRL-O u commit https://github.com/vim/vim/commit/e0429681aed5448d1c3b8399d152a2b1a05ea6d7 Author: Bram Moolenaar Date: Sun Jul 1 16:44:03 2018 +0200 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 https://github.com/vim/vim/issues/3125) diff --git a/src/message.c b/src/message.c --- 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 --- a/src/proto.h +++ b/src/proto.h @@ -119,6 +119,12 @@ int # ifdef __BORLANDC__ _RTLENTRYF # endif +smsg_attr_keep(int, char_u *, ...); + +int +# ifdef __BORLANDC__ +_RTLENTRYF +# endif vim_snprintf_add(char *, size_t, char *, ...) #ifdef USE_PRINTF_FORMAT_ATTRIBUTE __attribute__((format(printf, 3, 4))) diff --git a/src/undo.c b/src/undo.c --- 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 --- a/src/version.c +++ b/src/version.c @@ -790,6 +790,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 135, +/**/ 134, /**/ 133,