Subject: Fwd: Re: [website] script generating POT files broken with [email-masked]

From: Leo Prikler <[email-masked]>
Date: Fri, 06 Aug 2021 14:16:16 +0200

Misremembered the bug ID, sorry

Subject: Re: [website] script generating POT files broken with [email-masked]
From: Leo Prikler <[email-masked]>
To: "pelzflorian (Florian Pelz)" <[email-masked]>, [email-masked]
Date: Fri, 06 Aug 2021 14:02:03 +0200

Hi Florian,

Am Freitag, den 06.08.2021, 12:53 +0200 schrieb pelzflorian (Florian
Pelz):
> Hello Guix!
> 
> In the guix-artwork.git repo, the pot file generation
> (scripts/sexp-xgettext.scm as described in the file i18n-howto) in
> the website is broken since [email-masked].  Old [email-masked] works.
> 
> The issue is at the end of the procedure in the call to (read) within
> token->string-symbol-or-keyw, specifically
> 
> guile -c '(with-input-from-string ",@" (lambda () (read)))'
> 
> I will investigate, but I don’t fully understand.
Having written a Scheme-specific xgettext implementation myself, I
think the issue here is that [email-masked] returns syntax objects from
(read), whereas previous guile does not.

The trick that I'm applying is to call syntax->datum on the return
value of (read).  In older guile, this does nothing, whereas in newer
guile it returns the symbol, keyword, list... whatever (read) would
have returned in the old implementation.

I hope this works out for you the way it did for me.

Cheers!