]> granicus.if.org Git - vim/commitdiff
patch 8.2.0706: Vim9: using assert_fails() causes function to finish v8.2.0706
authorBram Moolenaar <Bram@vim.org>
Thu, 7 May 2020 12:07:25 +0000 (14:07 +0200)
committerBram Moolenaar <Bram@vim.org>
Thu, 7 May 2020 12:07:25 +0000 (14:07 +0200)
Problem:    Vim9: using assert_fails() causes function to finish.
Solution:   Check did_emsg instead of called_emsg.

src/testdir/test_vim9_disassemble.vim
src/testdir/test_vim9_script.vim
src/version.c
src/vim9execute.c

index 11703416d12de43dd0e0fa5a1116bfaeb1940f3b..5c4ecd29077791baaff581ef74def91d97a0f630 100644 (file)
@@ -17,6 +17,7 @@ def s:ScriptFuncLoad(arg: string)
   buffers
   echo arg
   echo local
+  echo &lines
   echo v:version
   echo s:scriptvar
   echo g:globalvar
@@ -42,6 +43,7 @@ def Test_disassemble_load()
         ' EXEC \+buffers.*' ..
         ' LOAD arg\[-1\].*' ..
         ' LOAD $0.*' ..
+        ' LOADOPT &lines.*' ..
         ' LOADV v:version.*' ..
         ' LOADS s:scriptvar from .*test_vim9_disassemble.vim.*' ..
         ' LOADG g:globalvar.*' ..
index 40aae46a145729e38c49593738d7d615a68e4caa..7768eb082b161ac3aa5604da321aa3f753e16ce2 100644 (file)
@@ -1311,13 +1311,6 @@ def Test_vim9_comment()
       'catch /pat/# comment',
       'endtry',
       ], 'E488:')
-  CheckScriptFailure([
-      'vim9script',
-      'try',
-      '  throw "pat"',
-      'catch /pat/# comment',
-      'endtry',
-      ], 'E605:')
   CheckDefFailure([
       'try',
       'echo "yes"',
index 45f67c951c17654609a80da5cc81623ebf88694c..ea8b2a5c1632504518163873f6d7bb484b4db0b6 100644 (file)
@@ -746,6 +746,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    706,
 /**/
     705,
 /**/
index cc677b001344c8fcfc4711996c71e8042d5d1f6c..a505647df572dd0197427c085b4e3277001b2bcb 100644 (file)
@@ -458,7 +458,7 @@ call_bfunc(int func_idx, int argcount, ectx_T *ectx)
 {
     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 @@ call_bfunc(int func_idx, int argcount, ectx_T *ectx)
     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;
 }