[cells-cvs] CVS cells

ktilton ktilton at common-lisp.net
Thu May 4 21:25:12 UTC 2006


Update of /project/cells/cvsroot/cells
In directory clnet:/tmp/cvs-serv14075

Modified Files:
	md-slot-value.lisp 
Log Message:
Restore integrity wrapper on (setf md-slot-value)

--- /project/cells/cvsroot/cells/md-slot-value.lisp	2006/05/01 20:23:14	1.12
+++ /project/cells/cvsroot/cells/md-slot-value.lisp	2006/05/04 21:25:12	1.13
@@ -162,18 +162,7 @@
   (when *defer-changes*
     (c-break "SETF of ~a must be deferred by wrapping code in WITH-INTEGRITY" c))
 
-  (progn ;; with-integrity (:change)
-    ;;
-    ;; ok, we had a weird bug to find caused by a SETF being deferred unexpectedly. 
-    ;; This was the gears Togl demo, setf-ing a display-list in the create callback. It got
-    ;; called within the dynamic scope of the ufb queue handler doing the :make-tk items.
-    ;; When contemplating a fix, it occurred to me that I had no idea what to return from 
-    ;; (setf md-slot-value) if the core setf behavior got deferred. I concluded one could not
-    ;; sensibly impose integrity automatically here, as slick as that might seem. So callers
-    ;; will have to provide the with-integrity (:change... wrapper. Since SETF happens mostly
-    ;; in event handling callbacks, hopefully this will not be necesssary at all. A quck check
-    ;; of Celtk confirms this pattern.
-    ;;
+  (with-integrity (:change)
     (md-slot-value-assume c new-value nil))
 
   ;; new-value 




More information about the Cells-cvs mailing list