changeset 15081:0d2138d4c1dc v8.1.0551

patch 8.1.0551: expression evaluation may repeat an error message commit https://github.com/vim/vim/commit/8ff5af9544a2abc3d344bba017ef96682e098d9d Author: Bram Moolenaar <Bram@vim.org> 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.
author Bram Moolenaar <Bram@vim.org>
date Wed, 28 Nov 2018 21:30:04 +0100
parents d0374f91e0d2
children f97a2baf493a
files src/eval.c src/version.c
diffstat 2 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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;
--- 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,