diff options
author | Ludovic Courtès <ludo@gnu.org> | 2022-08-09 15:59:09 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2022-08-09 15:59:09 +0200 |
commit | 60e0aae89cbf29f88f110376f911777aac70e8a7 (patch) | |
tree | 8e36fa3257f9f818835f30f7197cf51f9db88fec /guix/channels.scm | |
parent | e1b8bace8cf26fb7aa32614241917832b4225b44 (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.scm | 6 |
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)) |