[cells-devel] Cells bug!
Kenny Tilton
kennytilton at optonline.net
Tue Jul 15 20:46:13 UTC 2008
Well, I think this is right, not sure if it was like that for a reason,
but this does cause rules to run for no reason after a certain precide
series of events I won't bore you with. Look for one new line below:
(defmethod md-slot-value-assume (c raw-value propagation-code)
(assert c)
#+shhh (trc c "md-slot-value-assume entry" (c-state c))
(without-c-dependency
(let ((prior-state (c-value-state c))
(prior-value (c-value c))
(absorbed-value (c-absorb-value c raw-value)))
(c-pulse-update c :slotv-assume)
; --- head off unchanged; this got moved earlier on 2006-06-10 ---
(when (and (not (eq propagation-code :propagate))
(find prior-state '(:valid :uncurrent))
(c-no-news c absorbed-value prior-value))
(trc nil "(setf md-slot-value) > early no news"
propagation-code prior-state prior-value absorbed-value)
(count-it :nonews)
===new==> (setf (c-value-state c) :valid) ; in case it was :uncurrent
(return-from md-slot-value-assume absorbed-value))
...etc unchanged...
Not committing to CVS cuz I don't want to break things, kinda too bust
with Algebra to handle any fallout.
kt
More information about the cells-devel
mailing list