[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
with-slots macroexpansion bug
- To: clisp-list@ma2s2.mathematik.uni-karlsruhe.de
- Subject: with-slots macroexpansion bug
- From: hkt@zkm.de (Rick Taube)
- Date: Tue, 3 May 94 13:28:30 GMT+0100
- Original-received: by NeXT.Mailer (1.87.1)
- Original-received: by NeXT Mailer (1.87.1)
- Pp-warning: Illegal Received field on preceding line
- Pp-warning: Illegal Received field on preceding line
theres a nasty bug in with-slots such that a slot named "function"
gets expanded to a function object!
ie:
#'(SLOT-VALUE #:G969 'FUNCTION)
instead of something like:
(function (slot-value #G969 'function))
heres the bug:
> (pprint (macroexpand '(with-slots (foo function bar) i (print
function))))
(LET ((#:G969 I))
(SYMBOL-MACROLET
((FOO (SLOT-VALUE #:G969 'FOO)) #'(SLOT-VALUE #:G969 'FUNCTION)
(BAR (SLOT-VALUE #:G969 'BAR))
)
(PRINT FUNCTION)
))
im running clisp on a next machine.
-hkt