diff options
author | Bram Moolenaar <Bram@vim.org> | 2021-07-15 18:09:53 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-07-15 18:09:53 +0200 |
commit | b5841b99e678da187b68c21f46d56a608a0dc10c (patch) | |
tree | 8c35638d42821a3a081ccb49ebe22abcb44e7e75 /src/testdir | |
parent | 9e60e899ee546a8a35c4cbe0319971719c1839e9 (diff) | |
download | vim-git-b5841b99e678da187b68c21f46d56a608a0dc10c.tar.gz |
patch 8.2.3166: Vim9: nested autoload call error overruled by "Unknown error"v8.2.3166
Problem: Vim9: nested autoload call error overruled by "Unknown error".
Solution: Check need_rethrow before giving an "Unknown error".
(closes #8568)
Diffstat (limited to 'src/testdir')
-rw-r--r-- | src/testdir/test_vim9_script.vim | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim index b4107e97d..bd06f7a2e 100644 --- a/src/testdir/test_vim9_script.vim +++ b/src/testdir/test_vim9_script.vim @@ -3699,6 +3699,46 @@ def Test_script_var_in_autocmd() CheckScriptSuccess(lines) enddef +def Test_error_in_autoload_script() + var save_rtp = &rtp + var dir = getcwd() .. '/Xruntime' + &rtp = dir + mkdir(dir .. '/autoload', 'p') + + var lines =<< trim END + vim9script noclear + def script#autoloaded() + enddef + def Broken() + var x: any = '' + eval x != 0 + enddef + Broken() + END + writefile(lines, dir .. '/autoload/script.vim') + + lines =<< trim END + vim9script + def CallAutoloaded() + script#autoloaded() + enddef + + function Legacy() + try + call s:CallAutoloaded() + catch + call assert_match('E1030: Using a String as a Number', v:exception) + endtry + endfunction + + Legacy() + END + CheckScriptSuccess(lines) + + &rtp = save_rtp + delete(dir, 'rf') +enddef + def Test_cmdline_win() # if the Vim syntax highlighting uses Vim9 constructs they can be used from # the command line window. |