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 25ec9c3..45f9401 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -1844,7 +1844,7 @@
// 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 d5951c6..9237fdf 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -590,6 +590,19 @@
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 7711978..e8b0ddc 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 3004,
+/**/
3003,
/**/
3002,