Mercurial > vim
diff src/testdir/test_vim9_disassemble.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 | 5cb6e676defd |
children | ef3b31d510d2 |
line wrap: on
line diff
--- a/src/testdir/test_vim9_disassemble.vim +++ b/src/testdir/test_vim9_disassemble.vim @@ -699,6 +699,24 @@ def Test_disassemble_lambda() instr) enddef +def NestedOuter() + def g:Inner() + echomsg "inner" + enddef +enddef + +def Test_nested_func() + let instr = execute('disassemble NestedOuter') + assert_match('NestedOuter\_s*' .. + 'def g:Inner()\_s*' .. + 'echomsg "inner"\_s*' .. + 'enddef\_s*' .. + '\d NEWFUNC <lambda>\d\+ Inner\_s*' .. + '\d PUSHNR 0\_s*' .. + '\d RETURN', + instr) +enddef + def AndOr(arg: any): string if arg == 1 && arg != 2 || arg == 4 return 'yes'