Mercurial > vim
comparison src/testdir/test_vim9_func.vim @ 21558:1c4d4aa22b37 v8.2.1329
patch 8.2.1329: Vim9: cannot define global function inside :def function
Commit: https://github.com/vim/vim/commit/38ddf333f6b2806b0ea2dd052ee1cd50dd7f4525
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Jul 31 22:05:04 2020 +0200
patch 8.2.1329: Vim9: cannot define global function inside :def function
Problem: Vim9: cannot define global function inside :def function.
Solution: Assign to global variable instead of local. (closes https://github.com/vim/vim/issues/6584)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 31 Jul 2020 22:15:04 +0200 |
parents | 6c67c86a202a |
children | 30a997217524 |
comparison
equal
deleted
inserted
replaced
21557:00c9f8522652 | 21558:1c4d4aa22b37 |
---|---|
131 CheckDefFailure(['def Nested(arg: string)', 'enddef', 'Nested()'], 'E119:') | 131 CheckDefFailure(['def Nested(arg: string)', 'enddef', 'Nested()'], 'E119:') |
132 | 132 |
133 CheckDefFailure(['func Nested()', 'endfunc'], 'E1086:') | 133 CheckDefFailure(['func Nested()', 'endfunc'], 'E1086:') |
134 enddef | 134 enddef |
135 | 135 |
136 def Test_nested_global_function() | |
137 let lines =<< trim END | |
138 vim9script | |
139 def Outer() | |
140 def g:Inner(): string | |
141 return 'inner' | |
142 enddef | |
143 enddef | |
144 disass Outer | |
145 Outer() | |
146 assert_equal('inner', g:Inner()) | |
147 delfunc g:Inner | |
148 Outer() | |
149 assert_equal('inner', g:Inner()) | |
150 delfunc g:Inner | |
151 Outer() | |
152 assert_equal('inner', g:Inner()) | |
153 delfunc g:Inner | |
154 END | |
155 CheckScriptSuccess(lines) | |
156 enddef | |
157 | |
136 func Test_call_default_args_from_func() | 158 func Test_call_default_args_from_func() |
137 call assert_equal('string', MyDefaultArgs()) | 159 call assert_equal('string', MyDefaultArgs()) |
138 call assert_equal('one', MyDefaultArgs('one')) | 160 call assert_equal('one', MyDefaultArgs('one')) |
139 call assert_fails('call MyDefaultArgs("one", "two")', 'E118:') | 161 call assert_fails('call MyDefaultArgs("one", "two")', 'E118:') |
140 endfunc | 162 endfunc |