# HG changeset patch # User Bram Moolenaar # Date 1543437004 -3600 # Node ID 0d2138d4c1dcd7324a9092c0310d97f5a358dcbb # Parent d0374f91e0d2b8dad809193dfc07ba6fb7003f58 patch 8.1.0551: expression evaluation may repeat an error message commit https://github.com/vim/vim/commit/8ff5af9544a2abc3d344bba017ef96682e098d9d Author: Bram Moolenaar Date: Wed Nov 28 21:20:38 2018 +0100 patch 8.1.0551: expression evaluation may repeat an error message Problem: Expression evaluation may repeat an error message. (Jason Franklin) Solution: Check for the value of did_emsg when giving an error for the :execute command. diff --git a/src/eval.c b/src/eval.c --- a/src/eval.c +++ b/src/eval.c @@ -8115,7 +8115,7 @@ ex_execute(exarg_T *eap) char_u *p; garray_T ga; int len; - int save_did_emsg; + int save_did_emsg = did_emsg; ga_init2(&ga, 1, 80); @@ -8131,7 +8131,7 @@ ex_execute(exarg_T *eap) * has been cancelled due to an aborting error, an interrupt, or an * exception. */ - if (!aborting()) + if (!aborting() && did_emsg == save_did_emsg) EMSG2(_(e_invexpr2), p); ret = FAIL; break; diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -793,6 +793,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 551, +/**/ 550, /**/ 549,