summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/eval.c b/eval.c
index 807abdce..714b86a1 100644
--- a/eval.c
+++ b/eval.c
@@ -1855,11 +1855,11 @@ static val op_fun(val form, val env)
val name = second(form);
val fbinding = lookup_fun(env, name);
- if (!fbinding && consp(name) && car(name) == lambda_s)
- fbinding = cons(name, func_interp(env, name));
-
- if (!fbinding)
+ if (!fbinding) {
+ if (consp(name) && car(name) == lambda_s)
+ return func_interp(env, name);
eval_error(form, lit("no function exists named ~s"), name, nao);
+ }
return cdr(fbinding);
}