--- Begin Message ---
Subject: |
[PATCH] guix: gexp: Make UTF-8 a default port encoding in mixed-text-file |
Date: |
Fri, 18 Jun 2021 07:15:36 +0300 |
guix/gexp.scm (mixed-text-file): It's necessary because if some UTF-8 symbols
appear in configuration, resulting file in the store will contain ? instead of
it.
---
guix/gexp.scm | 1 +
1 file changed, 1 insertion(+)
diff --git a/guix/gexp.scm b/guix/gexp.scm
index afb935761e..187f5c5e85 100644
--- a/guix/gexp.scm
+++ b/guix/gexp.scm
@@ -1921,6 +1921,7 @@ This is the declarative counterpart of 'text-file*'."
(define build
(gexp (call-with-output-file (ungexp output "out")
(lambda (port)
+ (set-port-encoding! port "UTF-8")
(display (string-append (ungexp-splicing text)) port)))))
(computed-file name build))
--
2.32.0
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#49082: [PATCH] guix: gexp: Make UTF-8 a default port encoding in mixed-text-file |
Date: |
Wed, 23 Jun 2021 23:39:25 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) |
Hi,
Andrew Tropin <andrew@trop.in> skribis:
> guix/gexp.scm (mixed-text-file): It's necessary because if some UTF-8 symbols
> appear in configuration, resulting file in the store will contain ? instead of
> it.
Good catch! Applied as 1f3d7b45349d43e5cc02594083e0cd44ef730992.
Please look how I modified the commit log, in line with our conventions
and previous entries for this file.
> (define build
> (gexp (call-with-output-file (ungexp output "out")
> (lambda (port)
> + (set-port-encoding! port "UTF-8")
Leo is right that we’d often write:
(parameterize ((%default-port-encoding "UTF-8"))
(call-with-output-file …))
because it’s marginally cleaner (the port is created with the right
encoding from the start). In this case it doesn’t matter much though.
Thank you!
Ludo’.
--- End Message ---