patch 8.2.2621: typval2type() cannot handle recursive structures
Problem: typval2type() cannot handle recursive structures.
Solution: Use copyID. (closes #7979)
diff --git a/src/list.c b/src/list.c
index b1080de..873f9e6 100644
--- a/src/list.c
+++ b/src/list.c
@@ -2052,7 +2052,7 @@
{
// 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 @@
{
// 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)