Subject: Re: Guix Emacs does not get "America/Sao_Paulo" timezone by name

From: Leo Prikler <[email-masked]>
Date: Sun, 09 May 2021 01:56:56 +0200

Am Samstag, den 08.05.2021, 18:19 -0300 schrieb Jorge P. de Morais
Neto:
> Hi all!  I use Guix on Debian bullseye¹.  My Emacs is a Guix-
> installed
> emacs-next with a package transformation option to use the latest
> commit
> from the master branch.  It works fine except that it wrongly
> evaluates
> the following function call:
>     (current-time-zone nil "America/Sao_Paulo")
> It returns `(0 "America")'.  And I have verified that the same bug
> also
> occurs on plain Emacs 27.2 (also from Guix).
> 
> Last time I tested in a manually compiled Emacs 27.1.50, I got the
> correct result: `(-10800 "-03")'.  Also I have just tested on someone
> else’s notebook---Emacs 26.3 from Ubuntu---and it too returned the
> correct result.  I have not tested other timezones.
I'm not quite sure how tzdata works on foreign systems, but I'll assume
Guix always takes the one itself has.  Using this, I don't find any
America/Sao_Paolo, which would be the one you're looking for, but I do
find Brazil/East, which gives the expected result.  

Btw. I ran the same command on Emacs 27.2 from Guix and 26.3 on a
machine, that regrettably still runs Mint.  Neither know of
America/Sao_Paolo, which strongly makes me believe it's tzdata's fault.

It also seems as though right/America/Sao_Paolo exists within tzdata,
but Emacs doesn't try to read it.  I have no clue why though.

Regards,
Leo