On Tue, Mar 24, 2009 at 9:00 PM, Kenneth Tilton <[email protected]> wrote:
> btw, If this version of Cells-Gtk is built on the latest Cells the
> with-integrity call can be omitted (but is harmless) because the SETF code
> will notice no one is managing integrity and take over integrity management
> itself.
Well, it is built on slightly modified Cells from common-lisp.net CVS,
so I don't know how latest it is. It says last modified five months
ago. I tried looking into the source, but the SETF in question
contains a COND which completely confused me... I mean, if it signals
an error saying that it has to be wrapped in with-integrity, then why
doesn't it just do it, especially considering that it does just that
in the other branch?
(cond
((find (c-lazy c) '(:once-asked :always t))
(md-slot-value-assume c new-value nil))
(*defer-changes*
(c-break "SETF of ~a must be deferred by wrapping code in
WITH-INTEGRITY" c))
(t
(with-integrity (:change slot-name)
(md-slot-value-assume c new-value nil))))
Regards, Jakub
_______________________________________________
cells-gtk-devel site list
[email protected]
http://common-lisp.net/mailman/listinfo/cells-gtk-devel