summaryrefslogtreecommitdiff
path: root/src/list.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/list.c')
-rw-r--r--src/list.c31
1 files changed, 18 insertions, 13 deletions
diff --git a/src/list.c b/src/list.c
index 55b9fa0ae..c59197b3c 100644
--- a/src/list.c
+++ b/src/list.c
@@ -605,7 +605,8 @@ list_append_tv(list_T *l, typval_T *tv)
listitem_T *li;
if (l->lv_type != NULL && l->lv_type->tt_member != NULL
- && check_typval_arg_type(l->lv_type->tt_member, tv, 0) == FAIL)
+ && check_typval_arg_type(l->lv_type->tt_member, tv,
+ NULL, 0) == FAIL)
return FAIL;
li = listitem_alloc();
if (li == NULL)
@@ -722,7 +723,8 @@ list_insert_tv(list_T *l, typval_T *tv, listitem_T *item)
listitem_T *ni;
if (l->lv_type != NULL && l->lv_type->tt_member != NULL
- && check_typval_arg_type(l->lv_type->tt_member, tv, 0) == FAIL)
+ && check_typval_arg_type(l->lv_type->tt_member, tv,
+ NULL, 0) == FAIL)
return FAIL;
ni = listitem_alloc();
if (ni == NULL)
@@ -2085,9 +2087,9 @@ filter_map(typval_T *argvars, typval_T *rettv, filtermap_T filtermap)
blob_T *b = NULL;
int rem;
int todo;
- char_u *ermsg = (char_u *)(filtermap == FILTERMAP_MAP ? "map()"
+ char *func_name = filtermap == FILTERMAP_MAP ? "map()"
: filtermap == FILTERMAP_MAPNEW ? "mapnew()"
- : "filter()");
+ : "filter()";
char_u *arg_errmsg = (char_u *)(filtermap == FILTERMAP_MAP
? N_("map() argument")
: filtermap == FILTERMAP_MAPNEW
@@ -2144,7 +2146,7 @@ filter_map(typval_T *argvars, typval_T *rettv, filtermap_T filtermap)
}
else
{
- semsg(_(e_listdictblobarg), ermsg);
+ semsg(_(e_listdictblobarg), func_name);
goto theend;
}
@@ -2210,7 +2212,8 @@ filter_map(typval_T *argvars, typval_T *rettv, filtermap_T filtermap)
if (filtermap == FILTERMAP_MAP)
{
if (type != NULL && check_typval_arg_type(
- type->tt_member, &newtv, 0) == FAIL)
+ type->tt_member, &newtv,
+ func_name, 0) == FAIL)
{
clear_tv(&newtv);
break;
@@ -2345,7 +2348,8 @@ filter_map(typval_T *argvars, typval_T *rettv, filtermap_T filtermap)
{
if (filtermap == FILTERMAP_MAP && type != NULL
&& check_typval_arg_type(
- type->tt_member, &newtv, 0) == FAIL)
+ type->tt_member, &newtv,
+ func_name, 0) == FAIL)
{
clear_tv(&newtv);
break;
@@ -2389,7 +2393,7 @@ filter_map(typval_T *argvars, typval_T *rettv, filtermap_T filtermap)
if (filtermap == FILTERMAP_MAP)
{
if (type != NULL && check_typval_arg_type(
- type->tt_member, &newtv, 0) == FAIL)
+ type->tt_member, &newtv, func_name, 0) == FAIL)
{
clear_tv(&newtv);
break;
@@ -2627,6 +2631,7 @@ extend(typval_T *argvars, typval_T *rettv, char_u *arg_errmsg, int is_new)
{
type_T *type = NULL;
garray_T type_list;
+ char *func_name = is_new ? "extendnew()" : "extend()";
if (!is_new && in_vim9script())
{
@@ -2680,7 +2685,7 @@ extend(typval_T *argvars, typval_T *rettv, char_u *arg_errmsg, int is_new)
else
item = NULL;
if (type != NULL && check_typval_arg_type(
- type, &argvars[1], 2) == FAIL)
+ type, &argvars[1], func_name, 2) == FAIL)
goto theend;
list_extend(l1, l2, item);
@@ -2737,10 +2742,10 @@ extend(typval_T *argvars, typval_T *rettv, char_u *arg_errmsg, int is_new)
else
action = (char_u *)"force";
- if (type != NULL && check_typval_arg_type(
- type, &argvars[1], 2) == FAIL)
+ if (type != NULL && check_typval_arg_type(type, &argvars[1],
+ func_name, 2) == FAIL)
goto theend;
- dict_extend(d1, d2, action);
+ dict_extend(d1, d2, action, func_name);
if (is_new)
{
@@ -2753,7 +2758,7 @@ extend(typval_T *argvars, typval_T *rettv, char_u *arg_errmsg, int is_new)
}
}
else
- semsg(_(e_listdictarg), is_new ? "extendnew()" : "extend()");
+ semsg(_(e_listdictarg), func_name);
theend:
if (type != NULL)