On Tue, Mar 24, 2009 at 9:00 PM, Kenneth Tilton <kentil...@gmail.com> 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
cells-gtk-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/cells-gtk-devel

Reply via email to