diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2016-11-04 21:54:56 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2016-11-04 21:54:56 -0700 |
commit | c525f31d57e34175a8a24da03d5caadc5ca0317b (patch) | |
tree | 6f9f23b2fe631aaa75b01c378799eb43050314f0 | |
parent | 2cb0235152f9c40af23ddcc6aaa6e36a21932494 (diff) | |
download | txr-c525f31d57e34175a8a24da03d5caadc5ca0317b.tar.gz txr-c525f31d57e34175a8a24da03d5caadc5ca0317b.tar.bz2 txr-c525f31d57e34175a8a24da03d5caadc5ca0317b.zip |
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.
-rw-r--r-- | eval.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -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; } |