Skip to content

Commit

Permalink
patch 8.2.3948: Vim9: failure with partial with unknown argument count
Browse files Browse the repository at this point in the history
Problem:    Vim9: failure with partial with unknown argument count.
Solution:   Do not copy argument types if there aren't any.
  • Loading branch information
brammool committed Dec 30, 2021
1 parent f38aad8 commit cfe3af2
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 9 deletions.
2 changes: 2 additions & 0 deletions src/version.c
Expand Up @@ -749,6 +749,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
3948,
/**/
3947,
/**/
Expand Down
21 changes: 12 additions & 9 deletions src/vim9type.c
Expand Up @@ -369,19 +369,22 @@ typval2type_int(typval_T *tv, int copyID, garray_T *type_gap, int do_member)
if (type == NULL)
return NULL;
*type = *ufunc->uf_func_type;
type->tt_argcount -= tv->vval.v_partial->pt_argc;
type->tt_min_argcount -= tv->vval.v_partial->pt_argc;
if (type->tt_argcount == 0)
type->tt_args = NULL;
else
if (type->tt_argcount >= 0)
{
int i;
type->tt_argcount -= tv->vval.v_partial->pt_argc;
type->tt_min_argcount -= tv->vval.v_partial->pt_argc;
if (type->tt_argcount == 0)
type->tt_args = NULL;
else
{
int i;

func_type_add_arg_types(type, type->tt_argcount,
func_type_add_arg_types(type, type->tt_argcount,
type_gap);
for (i = 0; i < type->tt_argcount; ++i)
type->tt_args[i] = ufunc->uf_func_type->tt_args[
for (i = 0; i < type->tt_argcount; ++i)
type->tt_args[i] = ufunc->uf_func_type->tt_args[
i + tv->vval.v_partial->pt_argc];
}
}
return type;
}
Expand Down

0 comments on commit cfe3af2

Please sign in to comment.