patch 8.2.0706: Vim9: using assert_fails() causes function to finish
Problem: Vim9: using assert_fails() causes function to finish.
Solution: Check did_emsg instead of called_emsg.
diff --git a/src/testdir/test_vim9_disassemble.vim b/src/testdir/test_vim9_disassemble.vim
index 1170341..5c4ecd2 100644
--- a/src/testdir/test_vim9_disassemble.vim
+++ b/src/testdir/test_vim9_disassemble.vim
@@ -17,6 +17,7 @@
buffers
echo arg
echo local
+ echo &lines
echo v:version
echo s:scriptvar
echo g:globalvar
@@ -42,6 +43,7 @@
' EXEC \+buffers.*' ..
' LOAD arg\[-1\].*' ..
' LOAD $0.*' ..
+ ' LOADOPT &lines.*' ..
' LOADV v:version.*' ..
' LOADS s:scriptvar from .*test_vim9_disassemble.vim.*' ..
' LOADG g:globalvar.*' ..
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index 40aae46..7768eb0 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -1311,13 +1311,6 @@
'catch /pat/# comment',
'endtry',
], 'E488:')
- CheckScriptFailure([
- 'vim9script',
- 'try',
- ' throw "pat"',
- 'catch /pat/# comment',
- 'endtry',
- ], 'E605:')
CheckDefFailure([
'try',
'echo "yes"',
diff --git a/src/version.c b/src/version.c
index 45f67c9..ea8b2a5 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 706,
+/**/
705,
/**/
704,
diff --git a/src/vim9execute.c b/src/vim9execute.c
index cc677b0..a505647 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -458,7 +458,7 @@
{
typval_T argvars[MAX_FUNC_ARGS];
int idx;
- int called_emsg_before = called_emsg;
+ int did_emsg_before = did_emsg;
if (call_prepare(argcount, argvars, ectx) == FAIL)
return FAIL;
@@ -470,7 +470,7 @@
for (idx = 0; idx < argcount; ++idx)
clear_tv(&argvars[idx]);
- if (called_emsg != called_emsg_before)
+ if (did_emsg != did_emsg_before)
return FAIL;
return OK;
}