summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--eval.c6
-rw-r--r--struct.c4
2 files changed, 5 insertions, 5 deletions
diff --git a/eval.c b/eval.c
index e1515b2b..59e9f3b8 100644
--- a/eval.c
+++ b/eval.c
@@ -7061,7 +7061,7 @@ static val do_apf(val fun, varg args)
static val do_args_apf(val dargs, varg args)
{
val self = lit("apf");
- val fun = dargs->a.car;
+ val fun = (type_check(self, dargs, DARG), dargs->a.car);
varg da = dargs->a.args;
cnum da_nargs = da->fill + c_num(length(da->list), self);
args_decl(args_call, max(args->fill + da_nargs, ARGS_MIN));
@@ -7088,7 +7088,7 @@ static val do_ipf(val fun, varg args)
static val do_args_ipf(val dargs, varg args)
{
val self = lit("ipf");
- val fun = dargs->a.car;
+ val fun = (type_check(self, dargs, DARG), dargs->a.car);
varg da = dargs->a.args;
cnum da_nargs = da->fill + c_num(length(da->list), self);
args_decl(args_call, max(args->fill + da_nargs, ARGS_MIN));
@@ -7111,7 +7111,7 @@ static val ipf(val fun, varg args)
static val do_callf(val dargs, varg inargs)
{
val self = lit("callf");
- val func = dargs->a.car;
+ val func = (type_check(self, dargs, DARG), dargs->a.car);
varg funlist = dargs->a.args;
cnum funcount = args_count(funlist, self);
cnum inacount = args_count(inargs, self);
diff --git a/struct.c b/struct.c
index 6b8dde90..8122cf4e 100644
--- a/struct.c
+++ b/struct.c
@@ -1699,7 +1699,7 @@ static val method_fun(val env, varg args)
static val method_args_fun(val dargs, varg args)
{
val self = lit("method");
- varg da = dargs->a.args;
+ varg da = (type_check(self, dargs, DARG), dargs->a.args);
val fun = dargs->a.car;
val strct = dargs->a.cdr;
cnum da_nargs = da->fill + c_num(length(da->list), self);
@@ -1778,7 +1778,7 @@ static val umethod_fun(val sym, varg args)
static val umethod_args_fun(val dargs, varg args)
{
val self = lit("umethod");
- val sym = dargs->a.car;
+ val sym = (type_check(self, dargs, DARG), dargs->a.car);
varg da = dargs->a.args;
if (!args_more(args, 0)) {