Mercurial > vim
diff src/testdir/test_vim9_func.vim @ 24874:14b0b35d8488 v8.2.2975
patch 8.2.2975: Vim9: can only use an autoload function name as a string
Commit: https://github.com/vim/vim/commit/f0a4069e3df904ac6bd57718ec06e56c5d7363e4
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Jun 11 22:05:47 2021 +0200
patch 8.2.2975: Vim9: can only use an autoload function name as a string
Problem: Vim9: can only use an autoload function name as a string.
Solution: Load the autoload script when encountered. (closes https://github.com/vim/vim/issues/8124)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 11 Jun 2021 22:15:03 +0200 |
parents | 193cc8bd8a2f |
children | 0cba2be8cbd7 |
line wrap: on
line diff
--- a/src/testdir/test_vim9_func.vim +++ b/src/testdir/test_vim9_func.vim @@ -114,6 +114,34 @@ def Test_autoload_name_mismatch() delete(dir, 'rf') enddef +def Test_autoload_names() + var dir = 'Xdir/autoload' + mkdir(dir, 'p') + + var lines =<< trim END + func foobar#function() + return 'yes' + endfunc + let foobar#var = 'no' + END + writefile(lines, dir .. '/foobar.vim') + + var save_rtp = &rtp + exe 'set rtp=' .. getcwd() .. '/Xdir' + + lines =<< trim END + assert_equal('yes', foobar#function()) + var Function = foobar#function + assert_equal('yes', Function()) + + assert_equal('no', foobar#var) + END + CheckDefAndScriptSuccess(lines) + + &rtp = save_rtp + delete(dir, 'rf') +enddef + def CallRecursive(n: number): number return CallRecursive(n + 1) enddef