diff mbox series

[bug#66499,v2,01/39] ui: Handle EPIPE errors when displaying Guix version.

Message ID 29fe44a94b28a6e9f1fc6cb12b6180ab1c4bdcb1.1697475790.git.zimon.toutoune@gmail.com
State New
Headers show
Series [bug#66499,v2,01/39] ui: Handle EPIPE errors when displaying Guix version. | expand

Commit Message

Simon Tournier Oct. 16, 2023, 5:29 p.m. UTC
Fixes <https://issues.guix.gnu.org/66254>.
Reported by Clément Lassieur <clement@lassieur.org>.

* guix/ui.scm (show-version-and-exit): Handle EPIPE errors when displaying
version.
---
 guix/ui.scm | 21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)


base-commit: b6a070d2a3c059c1a574dc4048fb8f942e008799
diff mbox series

Patch

diff --git a/guix/ui.scm b/guix/ui.scm
index 6f2d4fe245..e3bf07212f 100644
--- a/guix/ui.scm
+++ b/guix/ui.scm
@@ -552,19 +552,20 @@  (define (initialize-guix)
 
 (define* (show-version-and-exit #:optional (command (car (command-line))))
   "Display version information for COMMAND and `(exit 0)'."
-  (simple-format #t "~a (~a) ~a~%"
-                 command %guix-package-name %guix-version)
-  (format #t "Copyright ~a 2023 ~a"
-          ;; TRANSLATORS: Translate "(C)" to the copyright symbol
-          ;; (C-in-a-circle), if this symbol is available in the user's
-          ;; locale.  Otherwise, do not translate "(C)"; leave it as-is.  */
-          (G_ "(C)")
-          (G_ "the Guix authors\n"))
-  (display (G_"\
+  (leave-on-EPIPE
+   (simple-format #t "~a (~a) ~a~%"
+                  command %guix-package-name %guix-version)
+   (format #t "Copyright ~a 2023 ~a"
+           ;; TRANSLATORS: Translate "(C)" to the copyright symbol
+           ;; (C-in-a-circle), if this symbol is available in the user's
+           ;; locale.  Otherwise, do not translate "(C)"; leave it as-is.  */
+           (G_ "(C)")
+           (G_ "the Guix authors\n"))
+   (display (G_"\
 License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
 This is free software: you are free to change and redistribute it.
 There is NO WARRANTY, to the extent permitted by law.
-"))
+")))
   (exit 0))
 
 (define (show-bug-report-information)