chiark / gitweb /
dep.lisp (%dep-value): Force the dep before registering a dependents.
[lisp] / dep.lisp
index c437538672db3648a46dfb0b6b95bd0069cb6749..3a1520f04a5c89d29a9748ef969681c70b711be5 100644 (file)
--- a/dep.lisp
+++ b/dep.lisp
@@ -229,10 +229,10 @@ (defun force-dep-value (dep)
 
 (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))