guix package: Swallow EPIPE upon 'guix package --list-generations'.
Fixes <http://bugs.gnu.org/27017>. Reported by Alex Vong <alexvong1995@gmail.com>. * guix/scripts/package.scm (process-query) <'list-generations>: Wrap body in 'leave-on-EPIPE'.
This commit is contained in:
parent
59d0f067ff
commit
807ba51950
|
@ -681,24 +681,26 @@ processed, #f otherwise."
|
|||
(unless (null-list? (cdr numbers))
|
||||
(display-profile-content-diff profile (car numbers) (cadr numbers))
|
||||
(diff-profiles profile (cdr numbers))))
|
||||
(cond ((not (file-exists? profile)) ; XXX: race condition
|
||||
(raise (condition (&profile-not-found-error
|
||||
(profile profile)))))
|
||||
((string-null? pattern)
|
||||
(list-generation display-profile-content
|
||||
(car (profile-generations profile)))
|
||||
(diff-profiles profile (profile-generations profile)))
|
||||
((matching-generations pattern profile)
|
||||
=>
|
||||
(lambda (numbers)
|
||||
(if (null-list? numbers)
|
||||
(exit 1)
|
||||
(leave-on-EPIPE
|
||||
(list-generation display-profile-content (car numbers))
|
||||
(diff-profiles profile numbers)))))
|
||||
(else
|
||||
(leave (G_ "invalid syntax: ~a~%")
|
||||
pattern)))
|
||||
|
||||
(leave-on-EPIPE
|
||||
(cond ((not (file-exists? profile)) ; XXX: race condition
|
||||
(raise (condition (&profile-not-found-error
|
||||
(profile profile)))))
|
||||
((string-null? pattern)
|
||||
(list-generation display-profile-content
|
||||
(car (profile-generations profile)))
|
||||
(diff-profiles profile (profile-generations profile)))
|
||||
((matching-generations pattern profile)
|
||||
=>
|
||||
(lambda (numbers)
|
||||
(if (null-list? numbers)
|
||||
(exit 1)
|
||||
(begin
|
||||
(list-generation display-profile-content (car numbers))
|
||||
(diff-profiles profile numbers)))))
|
||||
(else
|
||||
(leave (G_ "invalid syntax: ~a~%")
|
||||
pattern))))
|
||||
#t)
|
||||
|
||||
(('list-installed regexp)
|
||||
|
|
Loading…
Reference in New Issue