summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--guix/scripts/style.scm16
1 files changed, 9 insertions, 7 deletions
diff --git a/guix/scripts/style.scm b/guix/scripts/style.scm
index c0b9ea1a28..fa7175fb16 100644
--- a/guix/scripts/style.scm
+++ b/guix/scripts/style.scm
@@ -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))))))
 
 
 ;;;