diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-02-07 20:30:57 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-02-07 20:30:57 +0000 |
commit | f681cfb90b972cb347b3d707c87e48f8accd0e2a (patch) | |
tree | dec6119e3cede17c28e604dbabfc01ebfc491803 /src/testdir/test_vim9_func.vim | |
parent | 7aca5ca6763e50d2c23953b20e30fca7457c9abf (diff) | |
download | vim-git-f681cfb90b972cb347b3d707c87e48f8accd0e2a.tar.gz |
patch 8.2.4323: Vim9: nested function name can start with "_"v8.2.4323
Problem: Vim9: nested function name can start with "_".
Solution: Use same rule for function name for nested functions.
(closes #9713)
Diffstat (limited to 'src/testdir/test_vim9_func.vim')
-rw-r--r-- | src/testdir/test_vim9_func.vim | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim index 4ac4643e0..86b0763dc 100644 --- a/src/testdir/test_vim9_func.vim +++ b/src/testdir/test_vim9_func.vim @@ -679,6 +679,30 @@ def Test_nested_function() assert_equal('ok', g:result) unlet g:result + lines =<< trim END + vim9script + def Outer() + def _Inner() + echo 'bad' + enddef + Inner() + enddef + defcompile + END + v9.CheckScriptFailure(lines, 'E128:') + + lines =<< trim END + vim9script + def Outer() + def g:inner() + echo 'bad' + enddef + Inner() + enddef + defcompile + END + v9.CheckScriptFailure(lines, 'E128:') + # nested function inside conditional lines =<< trim END vim9script @@ -3135,11 +3159,11 @@ func Test_partial_call_fails() def Iter(container: any): any var idx = -1 var obj = {state: container} - def g:__NextItem__(self: dict<any>): any + def g:NextItem__(self: dict<any>): any ++idx return self.state[idx] enddef - obj.__next__ = function('g:__NextItem__', [obj]) + obj.__next__ = function('g:NextItem__', [obj]) return obj enddef |