+2024-06-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ tzname: document some limitations
+ Unfortunately tzname is a vestigial interface that doesn't work
+ <https://data.iana.org/time-zones/theory.html#vestigial>.
+ It's relatively useless in portable code and is planned to be removed
+ from POSIX <https://austingroupbugs.net/view.php?id=1816>.
+ Document this better here.
+
2024-06-06 Bruno Haible <bruno@clisp.org>
nstrftime, c-nstrftime: Support time zone names on MSVC.
Android 13.
@item
On native Windows platforms (mingw, MSVC), this function works incorrectly
-when the environment variable @code{TZ} has been set by Cygwin.
+when the environment variable @env{TZ} has been set by Cygwin.
@item
This function is removed in POSIX.1-2008. Better use
@code{clock_gettime} instead, and use @code{ftime} only as a fallback for
@itemize
@item
On native Windows platforms (mingw, MSVC), this function works incorrectly
-when the environment variable @code{TZ} has been set by Cygwin.
+when the environment variable @env{TZ} has been set by Cygwin.
@end itemize
Portability problems not fixed by Gnulib:
Portability problems not fixed by Gnulib:
@itemize
@item
+This variable's contents are unreliable if you use a geographical
+@env{TZ} setting like @code{TZ="America/Los_Angeles"}.
+@item
This variable is missing on some platforms:
FreeBSD 14.0, OpenBSD 5.7.
@item
zones supported by GNU or specified by POSIX@. @xref{tzset}.
@end itemize
+This variable is vestigial: it is not needed and does not suffice in general.
+It is planned to be removed from a future version of POSIX@.
A more portable way of getting the UTC offset is to use
@code{strftime} with the @code{%z} format. @xref{strftime}.
The @code{st_atime}, @code{st_ctime}, @code{st_mtime} fields are affected by
the current time zone and by the DST flag of the current time zone on some
platforms:
-mingw, MSVC 14 (when the environment variable @code{TZ} is set).
+mingw, MSVC 14 (when the environment variable @env{TZ} is set).
@end itemize
Portability problems not fixed by Gnulib:
@itemize
@item
On native Windows platforms (mingw, MSVC), this function works incorrectly
-when the environment variable @code{TZ} has been set by Cygwin.
+when the environment variable @env{TZ} has been set by Cygwin.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
@item
On native Windows platforms (mingw, MSVC), this function works incorrectly
-when the environment variable @code{TZ} has been set by Cygwin.
+when the environment variable @env{TZ} has been set by Cygwin.
@item
@code{mktime} may go into an endless loop on some platforms.
@item
The @code{st_atime}, @code{st_ctime}, @code{st_mtime} fields are affected by
the current time zone and by the DST flag of the current time zone on some
platforms:
-mingw, MSVC 14 (when the environment variable @code{TZ} is set).
+mingw, MSVC 14 (when the environment variable @env{TZ} is set).
@item
On MSVC 14, this function fails with error @code{ENOENT}
on files such as @samp{C:\pagefile.sys} and
@itemize
@item
On native Windows platforms (mingw, MSVC), this function works incorrectly
-when the environment variable @code{TZ} has been set by Cygwin.
+when the environment variable @env{TZ} has been set by Cygwin.
@end itemize
Portability problems not fixed by Gnulib:
Portability problems not fixed by Gnulib:
@itemize
@item
+This variable's contents are unreliable if you use a geographical
+@env{TZ} setting like @code{TZ="America/Los_Angeles"}.
+@item
This variable is missing (and instead, a function named @code{timezone} exists)
on some platforms:
FreeBSD 14.0, OpenBSD 5.7.
zones supported by GNU or specified by POSIX@. @xref{tzset}.
@end itemize
+This variable is vestigial: it is not needed and does not suffice in general.
+It is planned to be removed from a future version of POSIX@.
A more portable way of getting the UTC offset is to use
@code{strftime} with the @code{%z} format. @xref{strftime}.
Portability problems not fixed by Gnulib:
@itemize
@item
+This variable's contents are unreliable if you use a geographical
+@env{TZ} setting like @code{TZ="America/Los_Angeles"}.
+@item
The address of this variable is not a compile-time constant on some platforms:
Cygwin, mingw, MSVC.
@item
zones supported by GNU or specified by POSIX@. @xref{tzset}.
@end itemize
+This variable is vestigial: it is not needed and does not suffice in general.
+It is planned to be removed from a future version of POSIX@.
A more portable way of getting the time zone abbreviation is to use
@code{strftime} with the @code{%Z} format. @xref{strftime}.
@itemize
@item
On native Windows platforms (mingw, MSVC), this function works incorrectly
-when the environment variable @code{TZ} has been set by Cygwin.
+when the environment variable @env{TZ} has been set by Cygwin.
@end itemize
Portability problems not fixed by Gnulib:
@item
The times that are set on the file are affected by the current time zone and
by the DST flag of the current time zone on some platforms:
-mingw, MSVC 14 (when the environment variable @code{TZ} is set).
+mingw, MSVC 14 (when the environment variable @env{TZ} is set).
@item
On some platforms, the prototype for @code{utime} omits @code{const}
for the second argument:
@itemize
@item
On native Windows platforms (mingw, MSVC), this function works incorrectly
-when the environment variable @code{TZ} has been set by Cygwin.
+when the environment variable @env{TZ} has been set by Cygwin.
@end itemize
Portability problems not fixed by Gnulib: