From fe87011fb59915533bf81ad2360af83bc737dfa5 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Thu, 15 Feb 2018 00:26:04 -0800 Subject: [PROPOSED] Clarify terminology about negative SAVE values * NEWS, europe, ziguard.awk: Fix terminology. (Problem reported by Michael H Deckers.) --- NEWS | 12 ++++++------ europe | 16 ++++++++-------- ziguard.awk | 10 +++++----- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/NEWS b/NEWS index 999522b..24c9b2c 100644 --- a/NEWS +++ b/NEWS @@ -31,10 +31,10 @@ Unreleased, experimental changes * In the current version, the main and rearguard formats are identical and match that of 2018c, so this change does not affect default behavior. The vanguard format currently contains - one feature not in the main format: negative DST offsets. This + one feature not in the main format: negative SAVE values. This improves support for Ireland, which uses Irish Standard Time (IST, UTC+01) in summer and GMT (UTC) in winter. tzcode has - supported negative DST offsets for decades, and this feature + supported negative SAVE values for decades, and this feature should move to the main format soon. However, it will not move to the rearguard format for quite some time because some downstream parsers do not support it. @@ -43,7 +43,7 @@ Unreleased, experimental changes and rearguard.zi, one for each format. The files represent the same data as closely as the formats allow. These three files are intended for downstream data consumers and are not - installed. Zoneinfo parsers that require positive DST offsets + installed. Zoneinfo parsers that do not support negative SAVE values should start using rearguard.zi, so that they will be unaffected when the negative-DST feature moves from vanguard to main. Bleeding-edge Zoneinfo parsers that support the new features @@ -87,7 +87,7 @@ Unreleased, experimental changes Release 2018c - 2018-01-22 23:00:44 -0800 Briefly: - Revert Irish changes that relied on negative DST offsets. + Revert Irish changes that relied on negative SAVE values. Changes to tm_isdst @@ -98,8 +98,8 @@ Release 2018c - 2018-01-22 23:00:44 -0800 struct tm type. This reversion is intended to be a temporary workaround for problems discovered with downstream uses of releases 2018a and 2018b, which implemented Irish time by using - negative DST offsets in the Eire rules of the 'europe' file. - Although negative DST offsets have been part of tzcode for many + negative SAVE values in the Eire rules of the 'europe' file. + Although negative SAVE values have been part of tzcode for many years and are supported by many platforms, they were not documented before 2018a and ICU and OpenJDK do not currently support them. A mechanism to export data to platforms lacking diff --git a/europe b/europe index 8aab26e..b763fb0 100644 --- a/europe +++ b/europe @@ -508,25 +508,25 @@ Link Europe/London Europe/Jersey Link Europe/London Europe/Guernsey Link Europe/London Europe/Isle_of_Man -# From Paul Eggert (2018-01-30): -# In January 2018 we discovered that the negative DST offsets in the +# From Paul Eggert (2018-02-15): +# In January 2018 we discovered that the negative SAVE values in the # Eire rules cause problems with tests for ICU: # https://mm.icann.org/pipermail/tz/2018-January/025825.html # and with tests for OpenJDK: # https://mm.icann.org/pipermail/tz/2018-January/025822.html # # To work around this problem, the build procedure can translate the -# following data into two forms, one with negative DST offsets and the +# following data into two forms, one with negative SAVE values and the # other form with a traditional approximation for Irish time stamps # after 1971-10-31 02:00 UTC; although this approximation has tm_isdst # flags that are reversed, its UTC offsets are correct and this often -# suffices. This source file currently uses only positive DST -# offsets, but this is intended to change and downstream code should +# suffices. This source file currently uses only nonnegative SAVE +# values, but this is intended to change and downstream code should # not rely on it. # # The following is like GB-Eire and EU, except with standard time in # summer and negative daylight saving time in winter. It is for when -# negative DST offsets are used. +# negative SAVE values are used. # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S #Rule Eire 1971 only - Oct 31 2:00u -1:00 GMT #Rule Eire 1972 1980 - Mar Sun>=16 2:00u 0 IST @@ -547,9 +547,9 @@ Zone Europe/Dublin -0:25:00 - LMT 1880 Aug 2 0:00 1:00 IST 1947 Nov 2 2:00s 0:00 - GMT 1948 Apr 18 2:00s 0:00 GB-Eire GMT/IST 1968 Oct 27 -# The next line is for when negative DST offsets are used. +# The next line is for when negative SAVE values are used. # 1:00 Eire IST/GMT -# These three lines are for when positive DST offsets are used. +# These three lines are for when SAVE values are always nonnegative. 1:00 - IST 1971 Oct 31 2:00u 0:00 GB-Eire GMT/IST 1996 0:00 EU GMT/IST diff --git a/ziguard.awk b/ziguard.awk index 7377501..6da3691 100644 --- a/ziguard.awk +++ b/ziguard.awk @@ -4,11 +4,11 @@ # This is not a general-purpose converter; it is designed for current tzdata. # -# When converting to vanguard form, the output can use negative DST -# offsets. +# When converting to vanguard form, the output can use negative SAVE +# values. # -# When converting to rearguard form, the output uses only positive DST -# offsets. The idea is for the output data to simulate the behavior +# When converting to rearguard form, the output uses only nonnegative +# SAVE values. The idea is for the output data to simulate the behavior # of the input data as best it can within the constraints of the # rearguard format. @@ -27,7 +27,7 @@ BEGIN { outfile != "main.zi" { in_comment = /^#/ - # If this line should differ due to Ireland using negative DST offsets, + # If this line should differ due to Ireland using negative SAVE values, # uncomment the desired version and comment out the undesired one. Rule_Eire = /^#?Rule[\t ]+Eire[\t ]/ Zone_Dublin_post_1968 \ -- 2.7.4