From unknown Sat Aug 16 23:36:42 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#71257 <71257@debbugs.gnu.org> To: bug#71257 <71257@debbugs.gnu.org> Subject: Status: [PATCH core-updates] gexp: Improve support of Unicode characters. Reply-To: bug#71257 <71257@debbugs.gnu.org> Date: Sun, 17 Aug 2025 06:36:42 +0000 retitle 71257 [PATCH core-updates] gexp: Improve support of Unicode charact= ers. reassign 71257 guix-patches submitter 71257 Tomas Volf <~@wolfsden.cz> severity 71257 normal tag 71257 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Wed May 29 09:28:42 2024 Received: (at submit) by debbugs.gnu.org; 29 May 2024 13:28:42 +0000 Received: from localhost ([127.0.0.1]:33944 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sCJM9-0007vq-Oq for submit@debbugs.gnu.org; Wed, 29 May 2024 09:28:42 -0400 Received: from lists.gnu.org ([209.51.188.17]:47520) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <~@wolfsden.cz>) id 1sCJM6-0007vf-26 for submit@debbugs.gnu.org; Wed, 29 May 2024 09:28:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <~@wolfsden.cz>) id 1sCJLv-00081x-NM for guix-patches@gnu.org; Wed, 29 May 2024 09:28:27 -0400 Received: from wolfsden.cz ([37.205.8.62]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <~@wolfsden.cz>) id 1sCJLs-0006a4-PL for guix-patches@gnu.org; Wed, 29 May 2024 09:28:27 -0400 Received: by wolfsden.cz (Postfix, from userid 104) id BB1BE24C0A4; Wed, 29 May 2024 13:28:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=wolfsden.cz; s=mail; t=1716989301; bh=KNNM34IfcdzuhlvKq6Uz4aRsejrv0yEidGcMfGx0ZMM=; h=From:To:Cc:Subject:Date; b=ZVLij4QoyquhSBB7WZACWwWWEvKeTeSzQsMsTQToykXcXUNdtJgRDYXxW5xLR8d/X Xd+r1vsAxTJsf+Y85nOLJ+7dMLBoyuJUsCcDX7SoxNXcPGQNfvL7vgIySDpNDueMtl P+j8Ub02g9T3NOHRVDO6JAqxxwiI/lnOzCNy6RI5ez+rFOjdDpgfITbeXxu4PAHVLu AJb5mcrSgoHpx+Doaft9mIwbxHXn4SBChWsK5uAcDfnn7lkq++8WNu66HCiyIIGaRd hzkqOOR3xGDxs848b373c9Ra49oCe6tG8iTU5UGcbqDL4ZwHugTrLY2Okr57ch9raL DCX/eP0pm21Oz3n37xNNWDk35IjpaqJ/XM6FK1nkwYZoEfH7Qc2lKzpXzrZ87GrIif ilxO+fNaKg3lFd3WiZPv88iOxEi0GGY/ivy4w/d71LwiOahJkV/tGn+FiWDsa9L/vt d6vY3S6oHrdnb3K1tNLYRO+sbTVGVtKLdudJ+sg0PbM1+5IsWGLtVUVWqsg48pkBVx yxK5QSXZpT4UQR+bdlS+DO9PqZ5aWV+epEIhCgEkcX6YBsoyBnhXRq4Uq4QGpx7OdT 9xVs4hdA1CB9U1fUfBwU5B3wBAy998W4xHSQNQO6QzLCA8Ltn6Y/wmUb1RglSIUv73 vZdGMezGZU3TI7FdyThCyEs4= X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on wolfsden X-Spam-Level: X-Spam-Status: No, score=-1.2 required=5.0 tests=ALL_TRUSTED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,T_SCC_BODY_TEXT_LINE, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.6 Received: from localhost (unknown [81.17.16.73]) by wolfsden.cz (Postfix) with ESMTPSA id 827E724B677; Wed, 29 May 2024 13:28:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=wolfsden.cz; s=mail; t=1716989300; bh=KNNM34IfcdzuhlvKq6Uz4aRsejrv0yEidGcMfGx0ZMM=; h=From:To:Cc:Subject:Date; b=n2/taMVTaUI5uuug+Ca1tiNUooshFFO4383ZIXo3BFtZODq/kN96cffLGOyI+vygD JmTZQZPRmzNEgHT9O/Br69WFpj4F8IQvK1HZozo/neUTJ8M3gS6gvQ5vPT2r2gBz2s c+VDWAB5aFIzO6HLf8aXXqOTGFs8dkHcjWuHfAqPu/CKUmb7pUoKPZETLsCTQLE+9z XOI2TVh2VpTGmqGacKwcaMIv0DMFx1NS0bR2MAr02Ojki7wzRz8x4b/OB4LWNz2cFg eV7BmxhDjNDCkbQRaXRFNcjHv6PTFK2l6ZZ3WBpxCsHbWf4XlYN18rdHJJE8pRhqnc E6+g3FJti5CuIDUHQPjupQhDnttCybgyNsIRUlvPCG0VIl+RFlfFEnvpP93XlXK5Hu nUy4DD+MG61aXGkts8M2Xx/3OpwM3uSOfiq21vpj+OIvtkyhm5dlsLObLCqNNumaTq 0nYdEv/R5+QnidJJSfhOESGKDGzlgGNwMN/0MS1vHce58gIwCEyA65i2se52I/TYh3 nMlpbABiI6E9pNy0Ej+knVzPzoSC6aCyP41SvUP7yv5z5s/orTEtCzOMeXBKHMqMvl Y0UDwfQGf7NDujjNIbxhGdhC666MQU+CS/0Ai3HOFNi4baujVUJmDgYjM2z6x8UauK 1sRbHCycJPN8sF0t9ZjTgRXk= From: Tomas Volf <~@wolfsden.cz> To: guix-patches@gnu.org Subject: [PATCH core-updates] gexp: Improve support of Unicode characters. Date: Wed, 29 May 2024 15:27:05 +0200 Message-ID: <0dec1c4a332a1f23dc0e49ceabe1c9e7ceec8ccb.1716989225.git.~@wolfsden.cz> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Debbugs-Cc: Christopher Baines , Florian Pelz , Josselin Poiret , Ludovic Courtès , Mathieu Othacehe , Matthew Trzcinski , Maxim Cournoyer , Ricardo Wurmus , Simon Tournier , Tobias Geerinckx-Rice Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=37.205.8.62; envelope-from=~@wolfsden.cz; helo=wolfsden.cz X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit Cc: Tomas Volf <~@wolfsden.cz> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Support for non-ASCII characters was mixed. Some gexp forms did support them, while others did not. Combined with current value for %default-port-conversion-strategy, that sometimes led to unpleasant surprises. For example: (scheme-file "utf8" #~(with-output-to-file #$output (λ _ (display "猫")))) Was written to the store as: ((? _ (display "\u732b"))) No, that is not font issue on your part, that is an actual #\? instead of the lambda character. Which, surprisingly, does not do what it should when executed. The solution is to switch to C.UTF-8 locale where possible, since it is now always available. Or to explicitly set the port encoding. No tests are provided, since majority of tests/gexp.scm use guile in version 2, and it tends to work under it. The issues occur mostly with guile 3. I did test it locally using: #!/bin/sh set -eu set -x [ -f guix.scm ] || { echo >&2 Run from root of Guix repo.; exit 1; } [ -f gnu.scm ] || { echo >&2 Run from root of Guix repo.; exit 1; } cat >猫.scm <<'EOF' (define-module (猫) #:export (say)) (define (say) "nyaaaa~~~~!") EOF mkdir -p dir-with-utf8-file cp 猫.scm dir-with-utf8-file/ cat >repro.scm <<'EOF' (use-modules (guix build utils) (guix derivations) (guix gexp) (guix store) (ice-9 ftw) (ice-9 textual-ports)) (define cat "猫") (define (drv-content drv) (call-with-input-file (derivation->output-path drv) get-string-all)) (define (out-content out) (call-with-input-file out get-string-all)) (define (drv-listing drv) (scandir (derivation->output-path drv))) (define (dir-listing dir) (scandir dir)) (define-macro (test exp lower? report) (let ((type (car exp))) `(false-if-exception (let ((drv (with-store %store (run-with-store %store (,(if lower? lower-object identity) ,exp))))) (format #t "~%~a:~%" ',type) (when (with-store %store (build-derivations %store (list drv))) (format #t "~a~%" (,report drv))))))) (test (computed-file "utf8" #~(with-output-to-file #$output (λ _ (display #$cat)))) #t drv-content) (test (program-file "utf8" #~((λ _ (display #$cat)))) #t drv-content) (test (scheme-file "utf8" #~((λ _ (display #$cat)))) #t drv-content) (test (text-file* "utf8" cat cat cat) #f drv-content) (test (compiled-modules '((猫))) #f drv-listing) (test (file-union "utf8" `((,cat ,(plain-file "utf8" cat)))) #t drv-listing) ;;; No fix needed: (test (imported-modules '((猫))) #f dir-listing) (test (local-file "dir-with-utf8-file" #:recursive? #t) #t dir-listing) (test (plain-file "utf8" cat) #t out-content) (test (mixed-text-file "utf8" cat cat cat) #t drv-content) (test (directory-union "utf8" (list (local-file "dir-with-utf8-file" #:recursive? #t))) #t dir-listing) EOF guix shell -CWN -D guix glibc-locales -- \ env LANG=C.UTF-8 ./pre-inst-env guix repl -- ./repro.scm Before this commit, the output is: + '[' -f guix.scm ']' + '[' -f gnu.scm ']' + cat + mkdir -p dir-with-utf8-file + cp 猫.scm dir-with-utf8-file/ + cat + guix shell -CWN -D guix glibc-locales -- env LANG=C.UTF-8 ./pre-inst-env guix repl -- ./repro.scm computed-file: ? program-file: #!/gnu/store/mfkz7fvlfpv3ppwbkv0imb19nrf95akf-guile-3.0.9/bin/guile --no-auto-compile !# ((? _ (display "\u732b"))) scheme-file: ((? _ (display "\u732b"))) text-file*: ??? compiled-modules: building path(s) `/gnu/store/ay3jifyvliigfgnz67jf0kgngzpya5a5-module-import-compiled' Backtrace: 5 (primitive-load "/gnu/store/rn7b0dq6iqfmmqyqzamix2mjmfy?") In ice-9/eval.scm: 619:8 4 (_ #f) In srfi/srfi-1.scm: 460:18 3 (fold # ?) In ice-9/eval.scm: 245:16 2 (_ #(#(#) # ?)) In ice-9/boot-9.scm: 1982:24 1 (_ _) In unknown file: 0 (stat "./???.scm" #) ERROR: In procedure stat: In procedure stat: No such file or directory: "./???.scm" builder for `/gnu/store/dxg87135zcd6a1c92dlrkyvxlbhfwfld-module-import-compiled.drv' failed with exit code 1 file-union: (. .. ?) imported-modules: (. .. 猫.scm) local-file: (. .. 猫.scm) plain-file: 猫 mixed-text-file: 猫猫猫 directory-union: (. .. 猫.scm) Which I think you will agree is far from optimal. After my fix the output changes to: + '[' -f guix.scm ']' + '[' -f gnu.scm ']' + cat + mkdir -p dir-with-utf8-file + cp 猫.scm dir-with-utf8-file/ + cat + guix shell -CWN -D guix glibc-locales -- env LANG=C.UTF-8 ./pre-inst-env guix repl -- ./repro.scm computed-file: 猫 program-file: #!/gnu/store/8kbmn359jqkgsbqgqxnmiryvd9ynz8w7-guile-3.0.9/bin/guile --no-auto-compile !# ((λ _ (display "猫"))) scheme-file: ((λ _ (display "猫"))) text-file*: 猫猫猫 compiled-modules: (. .. 猫.go) file-union: (. .. 猫) imported-modules: (. .. 猫.scm) local-file: (. .. 猫.scm) plain-file: 猫 mixed-text-file: 猫猫猫 directory-union: (. .. 猫.scm) Which is actually what the user would expect. I also added missing arguments to the documentation. * guix/gexp.scm (computed-file): Set LANG to C.UTF-8 by default. (compiled-modules): Try to `setlocale'. (gexp->script), (gexp->file): New `locale' argument defaulting to C.UTF-8. (text-file*): Set output port encoding to UTF-8. * doc/guix.texi (G-Expressions)[computed-file]: Document the changes. Use @var. Document #:guile. [gexp->script]: Document #:locale. Fix default value for #:target. [gexp->file]: Document #:locale, #:system and #:target. Change-Id: Ib323b51af88a588b780ff48ddd04db8be7c729fb --- doc/guix.texi | 11 +++++++---- guix/gexp.scm | 24 ++++++++++++++++++------ 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index be4868c188..c6bad3f734 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -12234,7 +12234,9 @@ G-Expressions This is the declarative counterpart of @code{text-file}. @end deffn -@deffn {Procedure} computed-file name gexp [#:local-build? #t] [#:options '()] +@deffn {Procedure} computed-file @var{name} @var{gexp} @ + [#:local-build? #t] [#:guile] @ + [#:options '(#:env-vars (("LANG" . "C.UTF-8")))] Return an object representing the store item @var{name}, a file or directory computed by @var{gexp}. When @var{local-build?} is true (the default), the derivation is built locally. @var{options} is a list of @@ -12245,7 +12247,7 @@ G-Expressions @deffn {Monadic Procedure} gexp->script @var{name} @var{exp} @ [#:guile (default-guile)] [#:module-path %load-path] @ - [#:system (%current-system)] [#:target #f] + [#:system (%current-system)] [#:target 'current] [#:locale "C.UTF-8"] Return an executable script @var{name} that runs @var{exp} using @var{guile}, with @var{exp}'s imported modules in its search path. Look up @var{exp}'s modules in @var{module-path}. @@ -12282,8 +12284,9 @@ G-Expressions @deffn {Monadic Procedure} gexp->file @var{name} @var{exp} @ [#:set-load-path? #t] [#:module-path %load-path] @ - [#:splice? #f] @ - [#:guile (default-guile)] + [#:splice? #f] [#:guile (default-guile)] @ + [#:system (%current-system)] [#:target 'current] @ + [#:locale "C.UTF-8"] Return a derivation that builds a file @var{name} containing @var{exp}. When @var{splice?} is true, @var{exp} is considered to be a list of expressions that will be spliced in the resulting file. diff --git a/guix/gexp.scm b/guix/gexp.scm index 74b4c49f90..af266171fd 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -584,7 +584,10 @@ (define-record-type (options computed-file-options)) ;list of arguments (define* (computed-file name gexp - #:key guile (local-build? #t) (options '())) + #:key + guile + (local-build? #t) + (options '(#:env-vars (("LANG" . "C.UTF-8"))))) "Return an object representing the store item NAME, a file or directory computed by GEXP. When LOCAL-BUILD? is #t (the default), it ensures the corresponding derivation is built locally. OPTIONS may be used to pass @@ -1687,6 +1690,9 @@ (define* (compiled-modules modules (system base target) (system base compile)) + ;; Best effort. The locale is not installed in all contexts. + (false-if-exception (setlocale LC_ALL "C.UTF-8")) + (define modules (getenv "modules")) @@ -1977,7 +1983,8 @@ (define* (gexp->script name exp #:key (guile (default-guile)) (module-path %load-path) (system (%current-system)) - (target 'current)) + (target 'current) + (locale "C.UTF-8")) "Return an executable script NAME that runs EXP using GUILE, with EXP's imported modules in its search path. Look up EXP's modules in MODULE-PATH." (mlet* %store-monad ((target (if (eq? target 'current) @@ -2020,7 +2027,8 @@ (define* (gexp->script name exp ;; These derivations are not worth offloading or ;; substituting. #:local-build? #t - #:substitutable? #f))) + #:substitutable? #f + #:env-vars `(("LANG" . ,locale))))) (define* (gexp->file name exp #:key (guile (default-guile)) @@ -2028,7 +2036,8 @@ (define* (gexp->file name exp #:key (module-path %load-path) (splice? #f) (system (%current-system)) - (target 'current)) + (target 'current) + (locale "C.UTF-8")) "Return a derivation that builds a file NAME containing EXP. When SPLICE? is true, EXP is considered to be a list of expressions that will be spliced in the resulting file. @@ -2068,7 +2077,8 @@ (define* (gexp->file name exp #:key #:local-build? #t #:substitutable? #f #:system system - #:target target) + #:target target + #:env-vars `(("LANG" . ,locale))) (gexp->derivation name (gexp (call-with-output-file (ungexp output) @@ -2085,7 +2095,8 @@ (define* (gexp->file name exp #:key #:local-build? #t #:substitutable? #f #:system system - #:target target)))) + #:target target + #:env-vars `(("LANG" . ,locale)))))) (define* (text-file* name #:rest text) "Return as a monadic value a derivation that builds a text file containing @@ -2095,6 +2106,7 @@ (define* (text-file* name #:rest text) (define builder (gexp (call-with-output-file (ungexp output "out") (lambda (port) + (set-port-encoding! port "UTF-8") (display (string-append (ungexp-splicing text)) port))))) (gexp->derivation name builder -- 2.41.0 From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 06 11:43:03 2024 Received: (at control) by debbugs.gnu.org; 6 Oct 2024 15:43:03 +0000 Received: from localhost ([127.0.0.1]:41985 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sxTPT-0000Hn-6N for submit@debbugs.gnu.org; Sun, 06 Oct 2024 11:43:03 -0400 Received: from wolfsden.cz ([37.205.8.62]:49070) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <~@wolfsden.cz>) id 1sxTPR-0000HM-TZ for control@debbugs.gnu.org; Sun, 06 Oct 2024 11:43:02 -0400 Received: by wolfsden.cz (Postfix, from userid 104) id 4383731DD10; Sun, 6 Oct 2024 15:42:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=wolfsden.cz; s=mail; t=1728229375; bh=DQidTTYcZbOqlKZDirxabZUC2RHyvyKHn6Ho2zIlz0M=; h=Date:To:From:Subject; b=hClQrBwTJaojSbab57CAVo0q9VMu+gbgdtELwUd50T+j29LT++vC8ma4m64HA/yuM 4T51CtEiP+4dE3GTdr8d5myShJpwNXy4qMBqoMwkSDMbAbyfKupdv8GQRNvmnFoTNr QR2GMT2akbD0qlRfjr+U46Zpcl8RGKyG6CT43UvsUgxs9/0k5PkG+1J8KNjRDlnigN d1mDqSchFxi3LwHMNZ0b64UkEKrtgKanUGk9g6DYMBPU2pO27j80Qv7pGtSzb7y9cO BRgY0NtrL20SWfJ9YbtzSmBX2h5F/m9momNyvGVCBIHodRSXoNBtd2PSAZNHSb0Ufk xK+EeTqHEGlyNbkGwEzsw0pO8yxImoH99CfWK9B7nW1SVaH1+koNavpzIkrnro6KSC uvP4Cg5l8SwCCOyzdLtczj7bxH+ym3k1KuVKkuSnAeeAcVpi5n6TTOl+x9x854fH77 JmYgj8YEYOldpwMVEtG2Ju1lnjXnJB/RprOUaGC9JnbuIg2LkP7NWNF2iVkU4SjCIT usruKkWwLA1aBqYtOWtSG4diQJllL6+5iccFPoRFK9xZcq3TakbVbe7MqgYQPCRvZS 2dV3sC1oWhfobLEIuvaob1HlJkWvICSfVx1J1bnVTULj7wNhIF8m7x5JNvamsT6i0g nIvTOqXM6qRiq4hLZH2J5e1I= X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on wolfsden X-Spam-Level: X-Spam-Status: No, score=-3.1 required=5.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from localhost (unknown [146.70.134.132]) by wolfsden.cz (Postfix) with ESMTPSA id E88B231D9F2 for ; Sun, 6 Oct 2024 15:42:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=wolfsden.cz; s=mail; t=1728229375; bh=DQidTTYcZbOqlKZDirxabZUC2RHyvyKHn6Ho2zIlz0M=; h=Date:To:From:Subject; b=hClQrBwTJaojSbab57CAVo0q9VMu+gbgdtELwUd50T+j29LT++vC8ma4m64HA/yuM 4T51CtEiP+4dE3GTdr8d5myShJpwNXy4qMBqoMwkSDMbAbyfKupdv8GQRNvmnFoTNr QR2GMT2akbD0qlRfjr+U46Zpcl8RGKyG6CT43UvsUgxs9/0k5PkG+1J8KNjRDlnigN d1mDqSchFxi3LwHMNZ0b64UkEKrtgKanUGk9g6DYMBPU2pO27j80Qv7pGtSzb7y9cO BRgY0NtrL20SWfJ9YbtzSmBX2h5F/m9momNyvGVCBIHodRSXoNBtd2PSAZNHSb0Ufk xK+EeTqHEGlyNbkGwEzsw0pO8yxImoH99CfWK9B7nW1SVaH1+koNavpzIkrnro6KSC uvP4Cg5l8SwCCOyzdLtczj7bxH+ym3k1KuVKkuSnAeeAcVpi5n6TTOl+x9x854fH77 JmYgj8YEYOldpwMVEtG2Ju1lnjXnJB/RprOUaGC9JnbuIg2LkP7NWNF2iVkU4SjCIT usruKkWwLA1aBqYtOWtSG4diQJllL6+5iccFPoRFK9xZcq3TakbVbe7MqgYQPCRvZS 2dV3sC1oWhfobLEIuvaob1HlJkWvICSfVx1J1bnVTULj7wNhIF8m7x5JNvamsT6i0g nIvTOqXM6qRiq4hLZH2J5e1I= Date: Sun, 06 Oct 2024 17:42:54 +0200 Message-ID: To: control@debbugs.gnu.org From: Tomas Volf <~@wolfsden.cz> Subject: control message for bug #71257 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) close 71257 quit From unknown Sat Aug 16 23:36:42 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 04 Nov 2024 12:24:15 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator