summaryrefslogtreecommitdiff
path: root/guix/scripts/import.scm
diff options
context:
space:
mode:
Diffstat (limited to 'guix/scripts/import.scm')
-rw-r--r--guix/scripts/import.scm11
1 files changed, 7 insertions, 4 deletions
diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm
index 7b29794e8f..e54744feca 100644
--- a/guix/scripts/import.scm
+++ b/guix/scripts/import.scm
@@ -107,7 +107,10 @@ Run IMPORTER with ARGS.\n"))
(show-version-and-exit "guix import"))
((importer args ...)
(if (member importer importers)
- (let ((expr (apply (resolve-importer importer) args)))
- (pretty-print expr (newline-rewriting-port (current-output-port))))
- (format (current-error-port)
- (_ "guix import: invalid importer~%"))))))
+ (match (apply (resolve-importer importer) args)
+ ((and expr ('package _ ...))
+ (pretty-print expr (newline-rewriting-port
+ (current-output-port))))
+ (x
+ (leave (_ "'~a' import failed~%") importer)))
+ (leave (_ "~a: invalid importer~%") importer)))))