From e122eb60bcf9188535d42d83e472b64c90b447b4 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Fri, 4 Nov 2016 21:54:56 -0700 Subject: Don't track macro origin of interned objects. * eval.c (set_origin): If either form or origin isn't a heap object, or is an interned symbol, then don't record the relationship. --- eval.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/eval.c b/eval.c index 33f1af51..ec7af348 100644 --- a/eval.c +++ b/eval.c @@ -239,7 +239,9 @@ val lookup_origin(val form) static val set_origin(val form, val origin) { - if (origin && form != origin) + if (origin && form != origin && is_ptr(form) && + (!symbolp(form) || !symbol_package(form)) && + is_ptr(origin) && (!symbolp(origin) || !symbol_package(origin))) sethash(origin_hash, form, origin); return form; } -- cgit v1.2.3