This extends the zic input format to add support for %z, which
expands to a UTC offset in as-short-as-possible ISO 8601 format.
It's intended to better support zones that do not have an
established abbreviation already. This is a change only to zic;
it does not affect the data, which can still be compiled with
older zic versions.
* NEWS, zic.8: Document this.
* zic.c (struct zone): New member z_format_specifier.
(PERCENT_Z_LEN_BOUND): New constant.
(max_abbrvar_len): Initialize to it, rather than to 0.
(associate, inzsub, doabbr): Add support for %z.
(abbroffset): New function.
(doabbr): 2nd arg is now struct zone *, not a char *.
All callers changed.
* zdump.c (is_digit): New macro, copied from private.h.
(abbrok): Use it. Allow abbreviations that (when quoted) conform
to POSIX.1-2001 or later.
* NEWS: Document this.
* NEWS: Document this.
* southamerica (Uruguay): Uruguay will not observe DST this spring.
(Thanks to Steffen Thorsen.) Assume the change is permanent.
* NEWS: Document this.
* europe (Europe/Sofia, Europe/Tallinn, Europe/Simferopol):
This is like the previous change, except it also simplifies the
generated data files for Europe/Simferopol and Europe/Tallinn.
Suggested by Howard Hinnant in:
http://mm.icann.org/pipermail/tz/2015-June/022309.html
* africa (Morocco): This year, DST is suspended from Sunday through
Sunday, not from Saturday through Saturday. (Thanks to Milamber.)
Guess a similar pattern in future years.
* NEWS: Document this.
Problem reported by Leonardo Chiquitto in:
http://mm.icann.org/pipermail/tz/2015-May/022276.html
Apparently his zic was built with -DTZDEFAULT=\"/etc/localtime\".
* NEWS: Document this.
* zic.c (verror): Don't dump core if filename is NULL.
(main, infile, mkdirs): Omit unnecessary trailing \n in diagnostic.
(componentcheck, namecheck): Now returns bool. All callers changed.
(componentcheck): Make the diagnostics more understandable.
Don't exit on error, so that the user can see multiple errors.
(dolink, writezone): Don't namecheck here.
(inzsub, inlink): Do it here instead.
This generates better diagnostics, and avoids the bug, since
it doesn't apply namecheck to TZDEFAULT or to TZDEFRULES.
* NEWS: Document this.
* backzone (America/Cayman): Move from here ...
* northamerica: ... back to here, and assume US-style DST starting 2016.
* zone1970.tab (KY): Now a separate row, since KY and PA disagree
starting 2016.
The country code 'DM' matched data in the leading comments
in zone1970.tab, which caused tzselect to misbehave.
Problem reported by Owen Leibman in:
http://mm.icann.org/pipermail/tz/2015-May/022265.html
* tzselect.ksh (regions, TZ): Don't treat comments as data.
* NEWS: Mention this.
* NEWS: Document this.
* tzselect.ksh (TZ_COUNTRY_TABLE, TZ_ZONE_TABLE):
If the current locale is not UTF-8, convert these tables
to the current locale's encoding before using them.
That's better than switching ths ehell to UTF-8, which
may not work if the current terminal doesn't support it.
Problem reported by Random832 in:
http://mm.icann.org/pipermail/tz/2015-May/022260.html
* Makefile (check_character_set): Don't require iso3166.tab
to be ASCII.
* NEWS: Document this.
* iso3166.tab (AX, CI, RE): Use UTF-8 rather than ASCII approximations.
* northamerica (America/Whitehorse):
The switch from UTC-9 to UTC-8 was on 1967-05-28, not 1966-07-01.
(Thanks to Brian Inglis and Dennis Ferguson.)
* NEWS: Document this.
* NEWS: Document this.
* africa (Egypt): Change from "Apr lastFri 0:00s" to "Apr lastThu
24:00" for 2015-2019 and 2023 on. (Thanks to Steffen Thorsen.)
If I recall correctly, the trailing "s" was needed to work around
a Ramadan glitch that no longer seems to happen with the new rule,
so omit it in the new version.
When recently changing the 'Chile' ruleset in 'southamerica', I
forgot to update its copy 'ChileAQ' in 'antarctica'. This sort of
thing has been a continuing problem over the years. Attempt to
make further recurrences less likely by moving 'Antarctica/Palmer'
from 'antarctica' to 'southamerica', so that there's no need to
copy the rules in question.
* antarctica (ArgAQ, ChileAQ): Remove.
(Antarctica/Palmer): Move to ...
* southamerica: ... this file, and use plain 'Arg' and 'Chile'.
* NEWS: Mention Antarctica/Palmer and the other affected zones.
(Thanks to Alois Treindl for reporting the problem.)
* southamerica (Chile, America/Santiago, Pacific/Easter):
Fix several problems in the Chilean data from 1890 through 1990.
* NEWS: Document this.
* NEWS: Document this.
* backzone (Mont, America/Montreal):
Move this out-of-scope data here from 'northamerica'.
* checktab.awk: Remove special case for America/Montreal,
that was added to this file "temporarily" on 2013-09-11.
* northamerica (America/Montreal): Now a link to America/Toronto.
Allow libraries built with -Dtime_tz=... to be used in executables
that also use standard-library time_t and libraries.
(Problem reported by Bradley White.)
* NEWS: Document this.
* private.h (localtime_rz, mktime_rz, posix2time_z, time2posix_z)
(tzalloc, tzfree, tzset, tzsetwall) [time_tz]: Define to
tz_localtime_rz etc., so that these functions can be used in the
same executable as standard functions with standard time_t.
(tzset, tzsetwall) [time_tz]: Declare, so that the tz_-prefixed
version ins declared.
* asia (Mongol), NEWS: Mongolia will start observing DST again
this year, from the last Saturday in March at 02:00 to the last
Saturday in September at 00:00. (Thanks to Ganbold Tsagaankhuu.)
* asia (Palestine), NEWS: Palestine will start DST on March 28,
not March 27. Also, correct the fall 2014 transition from
September 26 to October 24. Adjust future predictions
accordingly. (Thanks to Steffen Thorsen.)
* NEWS: Document this.
* australasia (Pacific/Guam): Now a link to Pacific/Guam.
(Pacific/Midway): Now a link to Pacific/Pago_Pago.
* backzone (America/Antigua, America/Cayman, Pacific/Miday)
(Pacific/Saipan): Move these four entries here from the other files.
* checktab.awk: Remove special cases for the four zones.
* northamerica (America/Cayman): Now a link to America/Panama.
(America/Antigua): Move to ...
* southamerica (America/Antigua): ... here, and make it a link to
America/Port_of_Spain.
* NEWS:
* antarctica (ChileAQ, Antarctica/Palmer):
* southamerica (Chile, America/Santiago, Pacific/Easter):
Chile will not change its clocks in April, or thereafter.
Consider this to be their new standard time, effective April.
(Thanks to Juan Correa.)
* NEWS: America/FCP_QRoo also affects current time stamps.
* northamerica: Reformat to fit in 80 characters.
* zone.tab, zone1970.tab: Use "city, state" style for consistency.
* northamerica (America/FCP_QRoo): New zone for portions of Quintana Roo
state in Mexico which have observed EST without DST since 1998.
* zone.tab, zone1970.tab: Add entries for it, update description of
America/Cancun to reflect that it no longer represents all of Quintana Roo.
* NEWS: Document this.
* northamerica (America/Cancun): Switch to EST without DST on
2015-02-01 at 02:00.
* zone.tab, zone1970.tab: Update description for America/Cancun.
* NEWS: Document this.