On Thu, 4 Jan 2024, brian.inglis--- via tz wrote:
On 2024-01-04 11:07, Bradley White via tz wrote:
It was ...
commit 35c116b7536a36c43eb7cd36bff71ad0c5ecf071 Author: Paul Eggert <eggert@cs.ucla.edu <mailto:eggert@cs.ucla.edu>> Date: Sun Oct 15 12:26:28 2023 -0700
Fix zic bug with Palestine after 2075
The bug can be observed when processing the following .zi data, adapted from the current ‘asia’ file: Rule Palestine 2075 max - Mar Sat<=30 2:00 1:00 S Rule Palestine 2075 max - Oct Sat<=30 2:00 0 - Rule Palestine 2076 only - Jul 25 2:00 0 - Rule Palestine 2076 only - Sep 5 2:00 1:00 S Zone Asia/Gaza 2:00 - EET 2012 2:00 Palestine EE%sT Without the fix, zic generates an incorrect TZif file, in which the special-case 2076 transitions are omitted. This causes ‘zdump -ic 2076,2077 Asia/Gaza’ to mistakenly omit the lines: 2076-07-25 01 +02 EET 2076-09-05 03 +03 EEST 1 * zic.c (outzone): Redo algorithm to work even when the effect of a Rule that never ends (TO="max") is interspersed with the effect of a one-shot rule (TO="only").
So the issue appears running `2023d/zic -slim -d ... 2023[cd]/europe`?
No, it does affect a lot more zones than just europe: https://gist.github.com/derickr/8e86f0c5a54702fb94a512719b1533c5 There are some expected changes, such as Gaza/Hebron, but most of the difference shouldn't have happened there. I wonder though, is there no test suite for this? To me these changes seem clearly not expected.
Has anyone tried using tzdata 2023[cd] `make tzdata.zi` then
2023d/zic -b slim -d ... tzdata.zi
to confirm if the issue still appears in Europe/London?
After running the following in my repo directory: ./code-2023c/zic -d data-files/2023c -b slim code-2023c/tzdata.zi ./code-2023d/zic -d data-files/2023d -b slim code-2023d/tzdata.zi It still shows the same transition changes, as well as the other changes in the GIST (and a few more, as I had forgotten about pacific, antarctica, and pacific: for i in data-files/2023c/*/*; do TZ=$(echo $i | sed 's@data-files/2023c/@@'); diff -u <(~/dev/derickr-timelib/docs/show-tzinfo $TZ `pwd`/data-files/2023c) <(~/dev/derickr-timelib/docs/show-tzinfo $TZ `pwd`/data-files/2023d) > /tmp/result.txt; if [ -s /tmp/result.txt ]; then echo $TZ; cat /tmp/result.txt; echo; fi; done https://gist.github.com/derickr/80c0a834211656bc9301507c4d3757d1 cheers, Derick