Otherwise we'll add the dependent to the list, and then `propagate-to-
dependents' will clear the list, forgetting about us.
(defun %dep-value (dep)
"Do the difficult work of retrieving the current value of a DEP."
+ (force-dep-value dep)
(when *evaluating-dep*
(pushnew (dep-weak-pointer *evaluating-dep*) (dep-dependents dep))
- (pushnew dep (dep-dependencies *evaluating-dep*)))
- (force-dep-value dep))
+ (pushnew dep (dep-dependencies *evaluating-dep*))))
(export 'dep-value)
(declaim (inline dep-value))