summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
b59116d)
Not sure why I wrote it like that.
We assume that DEP's dependencies are up-to-date already, and that DEP's
+RECOMPUTING+ flag is set. In the former case, DEP's dependents and
listeners are notified, using PROPAGATE-TO-DEPENDENTS."
We assume that DEP's dependencies are up-to-date already, and that DEP's
+RECOMPUTING+ flag is set. In the former case, DEP's dependents and
listeners are notified, using PROPAGATE-TO-DEPENDENTS."
- (let ((winning nil) (queued (logand (dep-%flags dep) +queued+)))
+ (let ((winning nil)
+ (new-flags (logior (logand (dep-%flags dep) +queued+)
+ +value+ +deps+)))
(flet ((update (value)
(cond ((update-dep dep value)
(flet ((update (value)
(cond ((update-dep dep value)
- (setf (dep-flags dep) (logior +value+ +deps+ +changed+
- queued))
+ (setf (dep-flags dep) (logior new-flags +changed+))
(propagate-to-dependents dep)
t)
(t
(propagate-to-dependents dep)
t)
(t
- (setf (dep-flags dep) (logior +value+ +deps+ queued))
+ (setf (dep-flags dep) new-flags)
nil))))
(unwind-protect
(prog1 (update (new-dep-value dep)) (setf winning t))
nil))))
(unwind-protect
(prog1 (update (new-dep-value dep)) (setf winning t))