Subject: bug#21020: 24.4; `display-time-world' tampers with TZ

From: Paul Eggert <[email-masked]>
Date: Mon, 27 Jul 2015 08:02:53 -0700

Eli Zaretskii wrote:
> I needed the changes in 7009674 to get this to build cleanly on
> MinGW.  One of the changes in that commit is in lib/time.in.h.

Thanks, I ported that code fix back to gnulib, as gnulib master commit 
b18e6d98e211be6bb0e720952a9baef7da1d27cb.

> It sounds like similar changes are needed in other Gnulib headers,
> lest they produce similar problems at some point.  I can provide a
> list of all the __need_SOMETHING symbols used by the MinGW headers, if
> that will help.

I looked into that and came up with the following list:

__need_NULL
__need_ptrdiff_t
__need_size_t
__need_struct_timespec
__need_time_t
__need___va_list
__need_wchar_t
__need_wint_t

The only other Gnulib header that refers to any of these symbols is stddef.in.h 
and if it's not used in MinGW then I expect we don't need to worry about it. 
Though there may be issues in MinGW itself, if it's using these symbols 
incompatibly with what GCC expects (stddef.h is a GCC header).