X-Git-Url: https://git.distorted.org.uk/~mdw/lisp/blobdiff_plain/77f935dafbb63f1674a3df832972fda67c10e3d6..b59116d4852b98693178ff0d98b99dc690514c69:/dep.lisp diff --git a/dep.lisp b/dep.lisp index c437538..ecd1628 100644 --- a/dep.lisp +++ b/dep.lisp @@ -228,11 +228,13 @@ (progn (setf (dep-flags dep) flags) nil)))))) (defun %dep-value (dep) - "Do the difficult work of retrieving the current value of a DEP." + "Do the difficult work of retrieving the current value of a DEP. + + This is the unhappy path of `dep-value'." + (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))