[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