vim-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.
8ff5af9544
This commit is contained in:
Jan Edmund Lazo 2018-11-29 21:19:02 -05:00
parent 5de5507ea6
commit f59ba0fad0

View File

@ -19642,7 +19642,7 @@ void ex_execute(exarg_T *eap)
int ret = OK;
char_u *p;
garray_T ga;
int save_did_emsg;
int save_did_emsg = did_emsg;
ga_init(&ga, 1, 80);
@ -19656,8 +19656,9 @@ void 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;
}