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 -----------------------------------------------------------