From 240c8d6e29e3069d72bec323910ee6800a6155d1 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Fri, 26 Jan 2018 10:06:13 -0800 Subject: [PROPOSED] Document vestigial aspects of the POSIX API (From a suggestion by Steve Summit.) * NEWS, theory.html: Mention POSIX features no longer needed. --- NEWS | 14 +++++++++++ theory.html | 83 ++++++++++++++++++++++++++++++++++++++----------------------- 2 files changed, 66 insertions(+), 31 deletions(-) diff --git a/NEWS b/NEWS index 2bd0aa8..36dba18 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,19 @@ News for the tz database +Unreleased, experimental changes + + Changes to documentation and commentary + + theory.html now has a section "POSIX features no longer needed" + that lists POSIX API components that are now vestigial. + (From a suggestion by Steve Summit.) + + Commentary is now more consistent about using the phrase "daylight + saving time", to match the C name tm_isdst. Daylight saving time + need not occur in summer, and need not have a positive offset from + standard time. + + Release 2018c - 2018-01-22 23:00:44 -0800 Briefly: diff --git a/theory.html b/theory.html index b3c3e7c..6f03832 100644 --- a/theory.html +++ b/theory.html @@ -631,11 +631,18 @@ transitioned to standard time at different dates.

The tz code contains time and date functions that are upwards compatible with those of POSIX. +Code compatible with this package is already +part of many platforms, +where the primary use of this package +is to update obsolete time zone rule tables. +To do this, you may need to compile the time zone compiler +'zic' supplied with this package instead of using +the system 'zic', since the format +of zic's input is occasionally extended, and a +platform may still be shipping an older zic.

-

-POSIX has the following properties and limitations. -

+

POSIX properties and limitations

-

-These are the extensions that have been made to the POSIX functions: -

+ +

Extensions to POSIX in the tz code

+ +

POSIX features no longer needed

-Points of interest to folks with other systems: +POSIX and ISO C define some APIs that are vestigial: they are not +needed, and are relics of a too-simple model that does not suffice to +handle many real-world timestamps. Although the tz code supports these +vestigial APIs for backwards compatibility, they should be avoided in +portable applications. The vestigial APIs are:

+ +

Other portability notes

+ -

+

  • The functions that are conditionally compiled if STD_INSPIRED is defined should, at this point, be looked on primarily as food for thought. They are @@ -907,9 +928,8 @@ not in any sense "standard compatible" – some are not, in fact, specified in any standard. They do, however, represent responses of various authors to standardization proposals. -

    - -

    +

  • +
  • Other time conversion proposals, in particular the one developed by folks at Hewlett Packard, offer a wider selection of functions that provide capabilities beyond those provided here. The absence of such functions from this package @@ -918,7 +938,8 @@ functions. Rather, their absence reflects the decision to make this package contain valid extensions to POSIX, to ensure its broad acceptability. If more powerful time conversion functions can be standardized, so much the better. -

    +
  • + -- 2.7.4