From: Bram Moolenaar Date: Tue, 15 Jun 2021 18:06:34 +0000 (+0200) Subject: patch 8.2.3004: Vim9: error for missing colon given while skipping X-Git-Tag: v8.2.3004 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=8ac681a280ffae14c30784a54587ad6cb640afbb;p=vim 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 #8385) --- diff --git a/src/ex_docmd.c b/src/ex_docmd.c index 25ec9c3fd..45f94017f 100644 --- 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 index d5951c647..9237fdfad 100644 --- 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 index 7711978fc..e8b0ddcf0 100644 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 3004, /**/ 3003, /**/