[cells-cvs] CVS cells
ktilton
ktilton at common-lisp.net
Tue Jun 13 16:19:35 UTC 2006
Update of /project/cells/cvsroot/cells
In directory clnet:/tmp/cvs-serv4640
Modified Files:
cell-types.lisp initialize.lisp md-slot-value.lisp
model-object.lisp propagate.lisp
Log Message:
Back out change to ephemerals
--- /project/cells/cvsroot/cells/cell-types.lisp 2006/06/13 05:05:12 1.11
+++ /project/cells/cvsroot/cells/cell-types.lisp 2006/06/13 16:19:35 1.12
@@ -53,11 +53,11 @@
;
; Not a type, but an option to the :cell parameter of defmodel
;
-(defun c-ephemeral-p (c)
+(defun ephemeral-p (c)
(eql :ephemeral (md-slot-cell-type (type-of (c-model c)) (c-slot-name c))))
-(defun c-ephemeral-reset (c)
- (when (c-ephemeral-p c) ;; so caller does not need to worry about this
+(defun ephemeral-reset (c)
+ (when (ephemeral-p c) ;; so caller does not need to worry about this
;
; as of Cells3 we defer resetting ephemerals because everything
; else gets deferred and we cannot /really/ reset it until
@@ -67,9 +67,10 @@
; ;; good q: what does (setf <ephem> 'x) return? historically nil, but...?
;
(with-integrity (:ephemeral-reset c)
- (trc nil "!!!!!!!!!!!!!! c-ephemeral-reset resetting:" c)
+ (trc nil "!!!!!!!!!!!!!! ephemeral-reset resetting:" c)
(md-slot-value-store (c-model c) (c-slot-name c) nil)
(setf (c-value c) nil)
+ #+notsureaboutthis
(loop for user in (c-users c)
do (calculate-and-link user)))))
--- /project/cells/cvsroot/cells/initialize.lisp 2006/06/13 05:05:12 1.6
+++ /project/cells/cvsroot/cells/initialize.lisp 2006/06/13 16:19:35 1.7
@@ -33,7 +33,7 @@
; nothing to calculate, but every cellular slot should be output
;
(slot-value-observe (c-slot-name c) (c-model c) (c-value c) nil nil)
- (c-ephemeral-reset c))
+ (ephemeral-reset c))
(defmethod awaken-cell ((c c-ruled))
(let (*c-calculators*)
--- /project/cells/cvsroot/cells/md-slot-value.lisp 2006/06/13 05:05:12 1.19
+++ /project/cells/cvsroot/cells/md-slot-value.lisp 2006/06/13 16:19:35 1.20
@@ -52,7 +52,7 @@
(trc nil "ensure-value-is-current >" c)
(cond
((c-currentp c)(trc nil "c-currentp" c)) ;; used to follow c-inputp, but I am toying with letting ephemerals (inputs) fall obsolete
- ;; and then get reset here (ie, ((c-input-p c) (c-ephemeral-reset c))). ie, do not assume inputs are never obsolete
+ ;; and then get reset here (ie, ((c-input-p c) (ephemeral-reset c))). ie, do not assume inputs are never obsolete
;;
((c-inputp c)(trc nil "c-inputp" c)) ;; always current (for now; see above)
--- /project/cells/cvsroot/cells/model-object.lisp 2006/06/13 05:05:13 1.6
+++ /project/cells/cvsroot/cells/model-object.lisp 2006/06/13 16:19:35 1.7
@@ -49,6 +49,7 @@
for sn = (slot-definition-name esd)
for sv = (when (slot-boundp self sn)
(slot-value self sn))
+ ;;do (print (list self sn sv (typep sv 'cell)))
when (typep sv 'cell)
do (if (md-slot-cell-type (type-of self) sn)
(md-install-cell self sn sv)
--- /project/cells/cvsroot/cells/propagate.lisp 2006/06/13 05:05:13 1.16
+++ /project/cells/cvsroot/cells/propagate.lisp 2006/06/13 16:19:35 1.17
@@ -103,7 +103,7 @@
; would this be bad for persistent CLOS, in which a DB would think there was still a link
; between two records until the value actually got cleared?
;
- (c-ephemeral-reset c)
+ (ephemeral-reset c)
))
; --- slot change -----------------------------------------------------------
More information about the Cells-cvs
mailing list