[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Dangerous bug in EVAL really destructive operation
- To: INFO-MACL@cambridge.apple.com
- Subject: Dangerous bug in EVAL really destructive operation
- From: MELTSNER KENNETH J <MELTSNER@CRDGW2.crd.ge.com>
- Date: 16 May 90 09:29 EST
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
--------