[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Dangerous bug in EVAL really destructive operation




Date: 15-MAY-1990 12:07
From: meltsner@crd.ge.com (Ken Meltsner)
Sender: MELTSNER
Subject: Dangerous bug in EVAL really destructive operation
To: info-macl@cambridge.apple.com@smtp@tcpgateway
--------

It appears that the EVAL bug I wrote about earlier is due to a destructive
operation in a macro-expansion, which then screwed up the original list
and caused the difficulties.  Yes, there appears to be a difference between
*fast-eval* t and nil -- perhaps the ,@ in the backquote macro is treated
differently -- but I did find the guilty macro.  The fix?  One little
COPY-TREE.

(Bleh.  I hate people who use destructive operations carelessly.)
I suspect this may not have been a problem in some other LISP implementations
that copy arguments to the backquote macro, but MACL users should be
aware of this problem.

				Ken

--------