[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: problem with 7-7 version: setfs inside with-slots
- To: duff@eraserhead.steinmetz.ge.com
- Subject: Re: problem with 7-7 version: setfs inside with-slots
- From: Gregor.pa@Xerox.COM
- Date: Fri, 15 Jul 88 09:50 PDT
- Cc: CommonLoops.PA@Xerox.COM
- Fcc: BD:>Gregor>mail>outgoing-mail-3.text.newest
- In-reply-to: <8807141443.AA23043@eraserhead.steinmetz.ge.com>
- Line-fold: no
Date: Thu, 14 Jul 88 10:43:51 EDT
From: steinmetz!eraserhead!duff@uunet.UU.NET (David A Duff)
I came across the following bug in testing the new (7-7) version of pcl in
lucid common lisp 3.0:
When using the with slots macro, setf's don't seem to get handled
right.
This is the most interesting PCL bug I have worked on in a long time.
Read "interesting" as a euphemism for I am still confused about this.
Here is a temporary patch which should fix the problem. It doesn't fix
it the way I would really like. I hope to release a better fix later
today. But this is pretty interesting after all so it may take longer.
;from boot.lisp
(defun expand-with-slots (whole specs body env gensym instance translate-fn)
(walk-form
`(let ((,gensym ,instance))
,@(and (symbolp instance)
`((declare (variable-rebinding ,gensym ,instance))))
,@body)
env
#'(lambda (f c e)
(declare (ignore e))
(expand-with-slots-internal specs
f
c
translate-fn))))
-------