store: 'register-path' no longer swallows 'system-error' exceptions.
authorLudovic Courtès <ludo@gnu.org>
Sun, 19 Jun 2016 19:29:43 +0000 (21:29 +0200)
committerLudovic Courtès <ludo@gnu.org>
Sun, 19 Jun 2016 22:52:53 +0000 (00:52 +0200)
* guix/store.scm (register-path): Do not catch 'system-error'.

guix/store.scm

index a640166..276684e 100644 (file)
@@ -1061,24 +1061,19 @@ Return #t on success.
 Use with care as it directly modifies the store!  This is primarily meant to
 be used internally by the daemon's build hook."
   ;; Currently this is implemented by calling out to the fine C++ blob.
-  (catch 'system-error
-    (lambda ()
-      (let ((pipe (apply open-pipe* OPEN_WRITE %guix-register-program
-                         `(,@(if prefix
-                                 `("--prefix" ,prefix)
-                                 '())
-                           ,@(if state-directory
-                                 `("--state-directory" ,state-directory)
-                                 '())))))
-        (and pipe
-             (begin
-               (format pipe "~a~%~a~%~a~%"
-                       path (or deriver "") (length references))
-               (for-each (cut format pipe "~a~%" <>) references)
-               (zero? (close-pipe pipe))))))
-    (lambda args
-      ;; Failed to run %GUIX-REGISTER-PROGRAM.
-      #f)))
+  (let ((pipe (apply open-pipe* OPEN_WRITE %guix-register-program
+                     `(,@(if prefix
+                             `("--prefix" ,prefix)
+                             '())
+                       ,@(if state-directory
+                             `("--state-directory" ,state-directory)
+                             '())))))
+    (and pipe
+         (begin
+           (format pipe "~a~%~a~%~a~%"
+                   path (or deriver "") (length references))
+           (for-each (cut format pipe "~a~%" <>) references)
+           (zero? (close-pipe pipe))))))
 
 \f
 ;;;