Got it, thanks for the clarification, it helps to have more context about what you were thinking. I was focused on Grand_Turk, so probably simplified my exposition too much. I think the better explanation is that the 2:00 in the UNTIL field precisely matches the 2:00 in the AT in the US Rule, so there is only one transition, instead of 2 transitions. Same thing seems to happen with the 2:00s in the UNTIL for Kaliningrad, which matches the 2:00s in the AT for the Russia Rule.

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. I managed to convince myself that the normal rules of the text files were sufficient for Grand_Turk. And my parsing code seems to implement those normal rules properly.


On Tue, Dec 29, 2020 at 4:11 PM Michael H Deckers <michael.h.deckers@googlemail.com> wrote:

     On 2020-12-29 22:45, Brian Park wrote:
> Then I wish you had said exactly that, instead of having me go off on a
> tangent.


    So do I. I am sorry to have lead you astray.

> Maybe I am misinterpreting something, but I don't understand why
> you are being confrontational about this. I am presenting results from 2
> different TZ parsers, using algorithms developed independently. I thought
> this would be interesting and relevant to this topic.


    I do not want to sound confrontational but I do
    want to be short. My comment on your original post
    concerned only one sentence, and I did in no way
    comment on the rest of that post.


>   I don't understand
> the point that you are trying to make.

    The complete sentence I commented about is:

       The core of why it "just works" seems be in the interpretation
       of the "2:00 transition to US Rule", and the fact that "2:00"
       is Wall-time, not S-time or U-time:

    I understand this to imply that a time of day value with
    a postfix "s" or "u" in the UNTIL column would preclude
    that it "just works".

    Now there are cases where two transitions (an increase
    in SAVE value after a decrease in STDOFF) are colaesced,
    and where the corresponding UNTIL column has a time of
    day value with a postfixed "s"; one example is for
    Kaliningrad.

    My comment asks how your code deals with such cases,
    given that it would not "just work".

    I hope this makes my point clear(er).

    Michael Deckers.