summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/eval.c b/eval.c
index 929cddae..b4dd6bfe 100644
--- a/eval.c
+++ b/eval.c
@@ -952,8 +952,11 @@ val interp_fun(val env, val fun, struct args *args)
val eval_intrinsic(val form, val env)
{
- form = expand(form, nil);
- return eval(form, default_bool_arg(env), form);
+ val lfe_save = last_form_evaled;
+ val form_ex = (last_form_evaled = nil, expand(form, nil));
+ val ret = eval(form_ex, default_bool_arg(env), form);
+ last_form_evaled = lfe_save;
+ return ret;
}
static val do_eval(val form, val env, val ctx_form,