Skip to content

Commit 57f799e

Browse files
committed
patch 8.2.2134: Vim9: get E1099 when autocmd triggered in builtin function
Problem: Vim9: get E1099 when autocmd triggered in builtin function. Solution: Check that did_emsg increased instead of checking that it changed. (closes #7448)
1 parent 2a9d5d3 commit 57f799e

3 files changed

Lines changed: 23 additions & 1 deletion

File tree

src/testdir/test_vim9_func.vim

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1824,6 +1824,26 @@ def Test_reset_did_emsg()
18241824
delfunc! g:Func
18251825
enddef
18261826

1827+
def Test_did_emsg_reset()
1828+
# executing an autocommand resets did_emsg, this should not result in a
1829+
# builtin function considered failing
1830+
var lines =<< trim END
1831+
vim9script
1832+
au BufWinLeave * #
1833+
def Func()
1834+
popup_menu('', {callback: {-> popup_create('', {})->popup_close()}})
1835+
eval [][0]
1836+
enddef
1837+
nno <F3> <cmd>call <sid>Func()<cr>
1838+
feedkeys("\<F3>\e", 'xt')
1839+
END
1840+
writefile(lines, 'XemsgReset')
1841+
assert_fails('so XemsgReset', ['E684:', 'E684:'], lines, 2)
1842+
delete('XemsgReset')
1843+
nunmap <F3>
1844+
au! BufWinLeave
1845+
enddef
1846+
18271847
def Test_abort_with_silent_call()
18281848
var lines =<< trim END
18291849
vim9script

src/version.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -750,6 +750,8 @@ static char *(features[]) =
750750

751751
static int included_patches[] =
752752
{ /* Add new patch number below this line */
753+
/**/
754+
2134,
753755
/**/
754756
2133,
755757
/**/

src/vim9execute.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -583,7 +583,7 @@ call_bfunc(int func_idx, int argcount, ectx_T *ectx)
583583
for (idx = 0; idx < argcount; ++idx)
584584
clear_tv(&argvars[idx]);
585585

586-
if (did_emsg != did_emsg_before)
586+
if (did_emsg > did_emsg_before)
587587
return FAIL;
588588
return OK;
589589
}

0 commit comments

Comments
 (0)