From: Mark Wooding Date: Sat, 30 Jun 2018 20:35:15 +0000 (+0100) Subject: dep.lisp (%dep-value): Force the dep before registering a dependents. X-Git-Url: https://git.distorted.org.uk/~mdw/lisp/commitdiff_plain/813da880d2d77f04ea623f426d543d298528f967 dep.lisp (%dep-value): Force the dep before registering a dependents. Otherwise we'll add the dependent to the list, and then `propagate-to- dependents' will clear the list, forgetting about us. --- diff --git a/dep.lisp b/dep.lisp index c437538..3a1520f 100644 --- a/dep.lisp +++ b/dep.lisp @@ -229,10 +229,10 @@ (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))