summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix/scripts/authenticate.scm12
1 files changed, 8 insertions, 4 deletions
diff --git a/guix/scripts/authenticate.scm b/guix/scripts/authenticate.scm
index 45f62f6ebc2..48e76c61c8a 100644
--- a/guix/scripts/authenticate.scm
+++ b/guix/scripts/authenticate.scm
@@ -161,10 +161,14 @@ by colon, followed by the given number of characters."
;; Send a reply for the result of THUNK or for any exception raised during
;; its execution.
(guard (c ((formatted-message? c)
- (send-reply (reply-code command-failed)
- (apply format #f
- (G_ (formatted-message-string c))
- (formatted-message-arguments c)))))
+ ;; Make sure the translated message can be written to standard
+ ;; output as ISO-8859-1 no matter what (XXX).
+ (with-fluids ((%default-port-conversion-strategy 'substitute))
+ (send-reply (reply-code command-failed)
+ (apply format #f
+ (string-trim-right
+ (G_ (formatted-message-string c)))
+ (formatted-message-arguments c))))))
(send-reply (reply-code success) (thunk))))
(define-syntax-rule (with-reply exp ...)