From 3d9ea605c8dfb7fc43689e12975218b032b3175a Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 28 Aug 2020 15:05:17 +0200 Subject: store: 'with-store' returns as many values as its body. Fixes . Reported by Ricardo Wurmus . * guix/store.scm (call-with-store)[thunk]: Wrap call to PROC in 'call-with-values'. * tests/store.scm ("with-store, multiple values"): New test. --- guix/store.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'guix') diff --git a/guix/store.scm b/guix/store.scm index 683e125b20..495dc1692c 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -628,9 +628,10 @@ connection. Use with care." (define (thunk) (parameterize ((current-store-protocol-version (store-connection-version store))) - (let ((result (proc store))) - (close-connection store) - result))) + (call-with-values (lambda () (proc store)) + (lambda results + (close-connection store) + (apply values results))))) (cond-expand (guile-3 -- cgit v1.2.3