From 1b8382aaa0f95f95c7bc85d69c70129aacbc2fa6 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Wed, 5 Aug 2015 07:13:01 -0700 Subject: * eval.c (do_eval): Bugfix: though last_form_evaled is saved and restored around the execution of a special operator, it is never set the current form. --- ChangeLog | 6 ++++++ eval.c | 1 + 2 files changed, 7 insertions(+) diff --git a/ChangeLog b/ChangeLog index c4b82fff..4397eac6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2015-08-05 Kaz Kylheku + + * eval.c (do_eval): Bugfix: though last_form_evaled is + saved and restored around the execution of a special operator, + it is never set the current form. + 2015-08-04 Kaz Kylheku * eval.c (bind_args): Use new ~! for proper indentation diff --git a/eval.c b/eval.c index cf1d01a2..bb701106 100644 --- a/eval.c +++ b/eval.c @@ -1089,6 +1089,7 @@ static val do_eval(val form, val env, val ctx_form, if (entry) { opfun_t fp = coerce(opfun_t, cptr_get(entry)); val ret, lfe_save = last_form_evaled; + last_form_evaled = form; ret = fp(form, env); last_form_evaled = lfe_save; debug_return (ret); -- cgit v1.2.3