Mercurial > vim
diff src/testdir/test_user_func.vim @ 30138:6575d0bf6061 v9.0.0405
patch 9.0.0405: arguments in a partial not used by a :def function
Commit: https://github.com/vim/vim/commit/c9c967da09d9faf5ba989c943352274fea365841
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Sep 7 16:48:46 2022 +0100
patch 9.0.0405: arguments in a partial not used by a :def function
Problem: Arguments in a partial not used by a :def function.
Solution: Put the partial arguments on the stack.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 07 Sep 2022 18:00:04 +0200 |
parents | 01408b56f093 |
children | 3b42bdfff7cb |
line wrap: on
line diff
--- a/src/testdir/test_user_func.vim +++ b/src/testdir/test_user_func.vim @@ -635,6 +635,11 @@ def DefIndex(idx: number, val: string): return val == 'c' enddef +def DefIndexXtra(xtra: string, idx: number, val: string): bool + call writefile([idx .. ': ' .. val], 'Xentry' .. idx, 'D') + return val == 'c' +enddef + def Test_defer_in_funcref() assert_equal(2, indexof(['a', 'b', 'c'], function('g:FuncIndex'))) assert_false(filereadable('Xentry0')) @@ -655,6 +660,16 @@ def Test_defer_in_funcref() assert_false(filereadable('Xentry0')) assert_false(filereadable('Xentry1')) assert_false(filereadable('Xentry2')) + + assert_equal(2, indexof(['a', 'b', 'c'], function(g:DefIndexXtra, ['xtra']))) + assert_false(filereadable('Xentry0')) + assert_false(filereadable('Xentry1')) + assert_false(filereadable('Xentry2')) + + assert_equal(2, indexof(['a', 'b', 'c'], funcref(g:DefIndexXtra, ['xtra']))) + assert_false(filereadable('Xentry0')) + assert_false(filereadable('Xentry1')) + assert_false(filereadable('Xentry2')) enddef