We should document zic's behavior better, yes. As I vaguely recall, it's done this way on purpose and so is a feature and not a bug. Perhaps Arthur's less-fallible memory can cite chapter and verse about when and why the behavior was put into zic.
There is indeed some of this that's done on purpose; it's in the function "writezone" in the "zic.c" file, in particular in the section headed by the comment "Optimize." That section has grown more elaborate over the years. Elaboration began in May of 1996 (at which time the elaboration included a "Horrid special case" comment). The web page... https://mm.icann.org/pipermail/tz/1996-May/date.html ...includes links to messages regarding the work done in 1996; check out the messages including "simultaneous" in the subject. --ado On Mon, Dec 7, 2020 at 2:21 PM Paul Eggert <eggert@cs.ucla.edu> wrote:
On 12/6/20 10:06 AM, Michael H Deckers via tz wrote:
I find it a bit embarrassing that the precise semantics of zic input is only known to C compilers
We should document zic's behavior better, yes. As I vaguely recall, it's done this way on purpose and so is a feature and not a bug. Perhaps Arthur's less-fallible memory can cite chapter and verse about when and why the behavior was put into zic.
I gave the documentation a shot by installing the attached patch into the development version. Further improvements would be welcome.