aboutsummaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
Diffstat (limited to 'guix')
-rw-r--r--guix/grafts.scm8
1 files changed, 5 insertions, 3 deletions
diff --git a/guix/grafts.scm b/guix/grafts.scm
index 2006d3908e..e14a40f8d1 100644
--- a/guix/grafts.scm
+++ b/guix/grafts.scm
@@ -221,9 +221,11 @@ available."
((_ . result) ;cache hit
(return result))
(#f ;cache miss
- (mlet %state-monad ((result (begin exp ...)))
- (set-current-state (vhash-consq key result cache))
- (return result))))))
+ (mlet %state-monad ((result (begin exp ...))
+ (cache (current-state)))
+ (mbegin %state-monad
+ (set-current-state (vhash-consq key result cache))
+ (return result)))))))
(define* (cumulative-grafts store drv grafts
references