# HG changeset patch # User Bram Moolenaar # Date 1623780903 -7200 # Node ID 75bd12f3bfeb5df6cdcd25fc97dd25ae62db5c76 # Parent 9fea15d25fbf3bd94bbbf029f84d0f2abd2e8673 patch 8.2.3004: Vim9: error for missing colon given while skipping Commit: https://github.com/vim/vim/commit/8ac681a280ffae14c30784a54587ad6cb640afbb Author: Bram Moolenaar Date: Tue Jun 15 20:06:34 2021 +0200 patch 8.2.3004: Vim9: error for missing colon given while skipping Problem: Vim9: error for missing colon given while skipping. Solution: Do not give the error when skipping. (closes https://github.com/vim/vim/issues/8385) diff --git a/src/ex_docmd.c b/src/ex_docmd.c --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -1844,7 +1844,7 @@ do_one_cmd( // If a ':' before the range is missing, give a clearer error // message. - if (ar > ea.cmd) + if (ar > ea.cmd && !ea.skip) { semsg(_(e_colon_required_before_range_str), ea.cmd); goto doend; diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim --- a/src/testdir/test_vim9_script.vim +++ b/src/testdir/test_vim9_script.vim @@ -590,6 +590,19 @@ def Test_try_catch_throw() return 2 enddef assert_equal(4, ReturnInFinally()) + + var lines =<< trim END + vim9script + try + acos('0.5') + ->setline(1) + catch + g:caught = v:exception + endtry + END + CheckScriptSuccess(lines) + assert_match('E808: Number or Float required', g:caught) + unlet g:caught enddef " :while at the very start of a function that :continue jumps to diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 3004, +/**/ 3003, /**/ 3002,