Skip to content

Commit

Permalink
patch 8.2.2741: Vim9: Partial call does not check right arguments
Browse files Browse the repository at this point in the history
Problem:    Vim9: Partial call does not check right arguments.
Solution:   Adjust the offset for whether the partial is before or after the
            arguments. (closes #8091)
  • Loading branch information
brammool committed Apr 9, 2021
1 parent 2a38908 commit 1088b69
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 1 deletion.
2 changes: 2 additions & 0 deletions src/testdir/test_vim9_func.vim
Original file line number Diff line number Diff line change
Expand Up @@ -796,6 +796,8 @@ def Test_call_lambda_args()
assert_equal('anything', Callback())
assert_equal('anything', Callback(1))
assert_equal('anything', Callback('a', 2))

assert_equal('xyz', ((a: string): string => a)('xyz'))
END
CheckDefAndScriptSuccess(lines)

Expand Down
2 changes: 2 additions & 0 deletions src/version.c
Original file line number Diff line number Diff line change
Expand Up @@ -750,6 +750,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
2741,
/**/
2740,
/**/
Expand Down
2 changes: 1 addition & 1 deletion src/vim9compile.c
Original file line number Diff line number Diff line change
Expand Up @@ -1969,7 +1969,7 @@ generate_PCALL(

for (i = 0; i < argcount; ++i)
{
int offset = -argcount + i - 1;
int offset = -argcount + i - (at_top ? 0 : 1);
type_T *actual = ((type_T **)stack->ga_data)[
stack->ga_len + offset];
type_T *expected;
Expand Down

0 comments on commit 1088b69

Please sign in to comment.