summaryrefslogtreecommitdiff
path: root/guix/channels.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-08-09 15:59:09 +0200
committerLudovic Courtès <ludo@gnu.org>2022-08-09 15:59:09 +0200
commit60e0aae89cbf29f88f110376f911777aac70e8a7 (patch)
tree8e36fa3257f9f818835f30f7197cf51f9db88fec /guix/channels.scm
parente1b8bace8cf26fb7aa32614241917832b4225b44 (diff)
channels: Consider news files as UTF-8-encoded by default.
Partly fixes <https://issues.guix.gnu.org/57039>. Reported by Pierre-Henry Fröhring <contact@phfrohring.com>. Previously, news file would be read using the current locale encoding. This could lead to a test failure in 'tests/channels.scm' (in a test that expects some Unicode-capable encoding) in case tests were run in a non-Unicode locale. * guix/channels.scm (channel-news-for-commit): Make port for NEWS-FILE UTF-8 by default.
Diffstat (limited to 'guix/channels.scm')
-rw-r--r--guix/channels.scm6
1 files changed, 5 insertions, 1 deletions
diff --git a/guix/channels.scm b/guix/channels.scm
index a5e9d7774d..ad6d3fb8ac 100644
--- a/guix/channels.scm
+++ b/guix/channels.scm
@@ -1153,7 +1153,11 @@ NEW. When OLD is omitted or is #f, return all the news entries of CHANNEL."
(if (and news-file (file-exists? news-file))
(with-repository checkout repository
(let* ((news (call-with-input-file news-file
- read-channel-news))
+ (lambda (port)
+ (set-port-encoding! port
+ (or (file-encoding port)
+ "UTF-8"))
+ (read-channel-news port))))
(entries (map (lambda (entry)
(resolve-channel-news-entry-tag repository
entry))