Subject: Re: bug#31452: emacs 25.3; timezone handling broken

From: Eli Zaretskii <[email-masked]>
Date: Mon, 14 May 2018 18:45:49 +0300

tags 31452 notabug
thanks

> From: e step <[email-masked]>
> Date: Mon, 14 May 2018 10:36:06 -0400
> 
>   1. I installed emacs 25.3_1 for Windows
>   2. From cygwin shell, I did "/c/emacs25/emacs-25.3_1-x86_64/bin/emacs.exe -Q"
>   3. Within emacs, I did M-: (getenv "TZ") which returned "America/New York".
>   4. Within emacs, I did M-: (current-time-string)
>   5. The resulting time is using incorrect time zone.
>   6. Inside cygwin, I did "export TZ=" to unset the TZ variable.
>   7. Within emacs, I did M-: (getenv "TZ") which returned nil.
>   8. Within emacs, I did M-: (current-time-string) to get correct time.
> 
> My work around is to not set the TZ variable which is doable but not desirable. 

You are using a native Windows build of Emacs, which doesn't support
Posix-style TZ specifications such "America/New York" (which actually
points to a file with timezone information).  The native Windows build
supports only the old simplified TZ specs such as EST-5EDT.  If you
want Posix TZ specs to be supported, I suggest to use a Cygwin build
of Emacs instead.

When you don't define TZ in the environment, the native Windows build
of Emacs uses the system timezone, which is defined in the Registry,
not through environment variables.

This is not a bug, but expected behavior.  Windows is not a Posix
system, and starting Emacs from a Cygwin shell cannot change that.

Thanks.