dep.lisp (%dep-value): Force the dep before registering a dependents.
[lisp] / dep.lisp
index c437538..3a1520f 100644 (file)
--- a/dep.lisp
+++ b/dep.lisp
 
 (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))