changeset 24934:75bd12f3bfeb v8.2.3004

patch 8.2.3004: Vim9: error for missing colon given while skipping Commit: https://github.com/vim/vim/commit/8ac681a280ffae14c30784a54587ad6cb640afbb Author: Bram Moolenaar <Bram@vim.org> 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)
author Bram Moolenaar <Bram@vim.org>
date Tue, 15 Jun 2021 20:15:03 +0200
parents 9fea15d25fbf
children 68f1020e0c69
files src/ex_docmd.c src/testdir/test_vim9_script.vim src/version.c
diffstat 3 files changed, 16 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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;
--- 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
--- 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,