summaryrefslogtreecommitdiffstats
path: root/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/eval.c b/eval.c
index cbc5e89b..bc509986 100644
--- a/eval.c
+++ b/eval.c
@@ -223,7 +223,7 @@ val lookup_origin(val form)
static val set_origin(val form, val origin)
{
- if (origin)
+ if (origin && form != origin)
sethash(origin_hash, form, origin);
return form;
}
@@ -1619,7 +1619,7 @@ static val expand_macro(val form, val mac_binding, val menv)
result = eval_progn(body, exp_env, body);
debug_end;
set_dyn_env(saved_de);
- sethash(origin_hash, result, form);
+ set_origin(result, form);
debug_return(result);
debug_leave;
}