1
0
forked from aniani/vim

patch 8.2.2621: typval2type() cannot handle recursive structures

Problem:    typval2type() cannot handle recursive structures.
Solution:   Use copyID. (closes #7979)
This commit is contained in:
Bram Moolenaar
2021-03-18 22:15:04 +01:00
parent 4b3e1964d8
commit 108cf0153c
6 changed files with 33 additions and 16 deletions

View File

@@ -2052,7 +2052,7 @@ filter_map(typval_T *argvars, typval_T *rettv, filtermap_T filtermap)
{
// Check that map() does not change the type of the dict.
ga_init2(&type_list, sizeof(type_T *), 10);
type = typval2type(argvars, &type_list);
type = typval2type(argvars, get_copyID(), &type_list);
}
if (argvars[0].v_type == VAR_BLOB)
@@ -2558,7 +2558,7 @@ extend(typval_T *argvars, typval_T *rettv, char_u *arg_errmsg, int is_new)
{
// Check that map() does not change the type of the dict.
ga_init2(&type_list, sizeof(type_T *), 10);
type = typval2type(argvars, &type_list);
type = typval2type(argvars, get_copyID(), &type_list);
}
if (argvars[0].v_type == VAR_LIST && argvars[1].v_type == VAR_LIST)