summaryrefslogtreecommitdiff
path: root/guix/scripts/pull.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2013-03-07 19:29:12 +0100
committerLudovic Courtès <ludo@gnu.org>2013-03-07 19:44:14 +0100
commitef86c39f27b0d1c21435ea54cba5fb247e341537 (patch)
treeb0e93558496a06d6e0ee036f75423a083b8787b2 /guix/scripts/pull.scm
parent1fb78cb2c36a6b0d7a3ecf1f7150c4d99b01c1a9 (diff)
ui: Gracefully report failures to connect to the daemon.
* guix/store.scm (&nix-connection-error): New condition type. (open-connection): Translate `system-error' during the `connect' call into `&nix-connection-error'. * guix/ui.scm (call-with-error-handling): Add case for `nix-connection-error?'. * guix/scripts/package.scm (guix-package): Move `open-connection' call within `with-error-handling'. * guix/scripts/pull.scm (guix-pull): Likewise. * guix/scripts/download.scm (guix-download): Move body within `with-error-handling'.
Diffstat (limited to 'guix/scripts/pull.scm')
-rw-r--r--guix/scripts/pull.scm6
1 files changed, 3 insertions, 3 deletions
diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm
index 942bf501c5..bc72dc4088 100644
--- a/guix/scripts/pull.scm
+++ b/guix/scripts/pull.scm
@@ -194,9 +194,9 @@ Download and deploy the latest version of Guix.\n"))
(leave (_ "~A: unexpected argument~%") arg))
%default-options))
- (let ((opts (parse-options))
- (store (open-connection)))
- (with-error-handling
+ (with-error-handling
+ (let ((opts (parse-options))
+ (store (open-connection)))
(let ((tarball (download-and-store store)))
(unless tarball
(leave (_ "failed to download up-to-date source, exiting\n")))