On Thu, Dec 31, 2020 at 1:14 PM Paul Eggert <eggert@cs.ucla.edu> wrote:
On 12/31/20 11:22 AM, Brian Park wrote:
The thing that I was wondering was whether the semantics of the zone info text files actually mandated a transition from 2:00 to 1:00 for Grand_Turk, if the Zone entry was set to 2:00, instead of its current 3:00 value. Or whether the special case in the zic compiler was an additional rule on top of the normal semantics of the zone info text files, in order to parse the Grand_Turk case properly.
The latter. That is, original semantics would have required two transitions there, but when this sort of problem was discovered in the mid-1990s the zic behavior was changed by adding the special case. Unfortunately, this special case wasn't documented in the zic man page until recently.
The recent doc change is here:
https://github.com/eggert/tz/commit/b804a741d5cdb5d1b761de9ad053ba916fa08636
and you can see a recent message about this here:
Yup, I did read those messages, and the 1996 emails too. I am still confused why the normal semantics require 2 transitions. Could you be kind enough to explain? Because I implemented my code before I knew about the special code in zic(1) to handle this case. My code produces only one transition for Grand_Turk at 2:00, and one transition for the original Atlantic/Stanley zone at 00:00 on Sept 15 1985, as referenced in the 1996 email thread. Brian