Mercurial > vim
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