style: '-f' reads input files as UTF-8 by default.

Reported by mirai on #guix.

* guix/scripts/style.scm (format-whole-file): Wrap body in
'with-fluids'.  Pass #:guess-encoding to 'call-with-input-file'.
This commit is contained in:
Ludovic Courtès 2022-11-20 22:52:16 +01:00
parent 238d983b4e
commit 82bde985f4
No known key found for this signature in database
GPG Key ID: 090B11993D9AEBB5
1 changed files with 9 additions and 7 deletions

View File

@ -335,13 +335,15 @@ PACKAGE."
(define* (format-whole-file file #:rest rest)
"Reformat all of FILE."
(let ((lst (call-with-input-file file read-with-comments/sequence)))
(with-atomic-file-output file
(lambda (port)
(apply pretty-print-with-comments/splice port lst
#:format-comment canonicalize-comment
#:format-vertical-space canonicalize-vertical-space
rest)))))
(with-fluids ((%default-port-encoding "UTF-8"))
(let ((lst (call-with-input-file file read-with-comments/sequence
#:guess-encoding #t)))
(with-atomic-file-output file
(lambda (port)
(apply pretty-print-with-comments/splice port lst
#:format-comment canonicalize-comment
#:format-vertical-space canonicalize-vertical-space
rest))))))
;;;