This should better address concerns about large-scale changes.
We can do the rest of these changes later, as they're not urgent.
* backward (Africa/Asmera, Asia/Saigon): Restore old links.
* checktab.awk (tztab): Handle zones that should probably be
turned into links some day.
* africa (Africa/Luanda, Africa/Porto-Novo, Africa/Gaborone)
(Africa/Bujumbura, Africa/Douala, Africa/Bangui, Indian/Comoro)
(Africa/Kinshasa, Africa/Lubumbashi, Africa/Brazzaville)
(Africa/Djibouti, Africa/Malabo, Africa/Asmara, Africa/Addis_Ababa)
(Africa/Libreville, Africa/Maseru, Indian/Antananarivo)
(Africa/Blantyre, Indian/Mayotte, Africa/Niamey, Africa/Kigali)
(Africa/Mogadishu, Africa/Mbabane, Africa/Dar_es_Salaam)
(Africa/Kampala, Africa/Lusaka, Africa/Harare):
* asia (Asia/Bahrain, Asia/Phnom_Penh, Asia/Kuwait)
(Asia/Vientiane, Asia/Muscat, Asia/Ho_Chi_Minh, Asia/Aden):
* australasia (Pacific/Saipan, Pacific/Midway):
* northamerica, southamerica (America/Antigua, America/Cayman):
New zones, restoring 2014e data. Corresponding links removed.
* NEWS: Document the above.
* NEWS: Russian change of 2014-10-26 is now official; removes verbal hedge.
* europe (Asia/Omsk): Fixes typos in commentary.
* tz-art.htm: Fuller sources for "Friends" and "Frasier" quotes, a few other
typos.
It allows multiple country codes per zone. Switch code and data to
use the new format, along with the recently-added Crozet Islands entry.
The old zone.tab file is still installed but is deprecated.
The new file uses UTF-8; add commentary saying that iso3166.tab is
planned to change to UTF-8.
* Theory, tzselect.8 (FILES): zone.tab -> time.tab.
* africa (Indian/Alfred_Faure): Remove link.
* antarctica: Mention Possession Island in comments.
* checktab.awk: Add support for checking time.tab.
* iso3166.tab: Mention planned switch to UTF-8.
Update ISO 3166-1 Newsletter from VI-15 to VI-16.
* time.tab: New file.
* tzselect.ksh (zonetabtype): New variable.
Add undocumented -t option, meant for developer testing.
(TZ_ZONE_TABLE): Use zonetabtype.
(output_distances, countries, regions, TZ): Support time.tab format.
(quoted_continents, distance_table, countries, regions)
(TZ, TZ_for_date): Quote shell strings more carefully.
* zone.tab: Refer to time.tab for detailed comments about format.
(Indian/Alfred_Faure): Remove.
* Makefile (TIMETABLES): New macro.
(TABDATA, install, check_tables): Use it.
(check_character_set, check_tables): Check time.tab too.
(check_time_t_alternatives): Use time.tab, not zone.tab.
* NEWS: Document the above.
* northamerica (America/Metlakatla): Use the more-common "PST"
rather than our invented "MeST" for the abbreviation. Our source
called it "Pacific Time", as did a contemporaneous news report,
and I couldn't find contemporaneous use of "MeST" or of
"Metlakatla Time". Cite the news report in the commentary,
and quote some Juneau graffiti.
* zone.tab (America/Resolute): Call it Central Time, not Central
Standard Time, since it observes DST now.
(America/Metlakatla): Call it Pacific Standard Time, not
Metlakatla Time. Mention that it's in Alaska.
* NEWS: Document the above.
Revert zone-to-link changes that changed current time zone
abbreviations. Add a few more changes, for more consistency.
Make several other fixes discovered while researching this.
* africa (Africa/Accra, Antarctica/Syowa):
* asia (Pacific/Palau):
* australasia (Pacific/Funafuti, Pacific/Majuro, Pacific/Wake)
(Pacific/Wallis, Antarctica/DumontDUrville, Pacific/Chuuk)
(Pacific/Pohnpei):
* northamerica (Pacific/Tahiti):
Remove links, as they are now zones again.
* africa (Africa/Accra, Africa/Maputo):
* antarctica (Antarctica/DumontDUrville, Antarctica/Syowa):
* australasia (Pacific/Tahiti, Pacific/Majuro, Pacific/Chuuk)
(Pacific/Pohnpei, Pacific/Palau, Pacific/Funafuti, Pacific/Wake)
(Pacific/Wallis):
Restore zone.
* africa (Africa/Accra): Assume DST starting in 1920, as per Scott
Keltie & Epstein 1920.
* asia (Asia/Bahrain, Asia/Phnom_Penh, Asia/Kuwait, Asia/Vientiane)
(Asia/Muscat, Asia/Ho_Chi_Minh, Asia/Aden):
* northamerica (America/Antigua, America/Cayman):
Change from zone to link, as these are also closely related.
* africa (Africa/Blantyre, Africa/Bujumbura, Africa/Gaborone)
(Africa/Harare, Africa/Kigali, Africa/Lubumbashi, Africa/Lusaka):
Now links to Africa/Maputo, not Africa/Johannesburg.
* asia (Asia/Riyadh): Change standard-time transition from 1950
to 1947-03-14. Add commentary citing Hunt 1961 and CAB 1946.
* australasia (Pacific/Chatham): Assume NZST - 45 min. before 1946.
Add commentary about this.
(Pacific/Pago_Pago): UT-11 from 1911 to 1950.
(WS, Pacific/Apia): Use NZ-style abbreviations.
Switch to "WSST" for Western Samoa standard time before 1950.
Add commentary about Samoa before 1950.
* backward (Africa/Asmera, Africa/Timbuktu, Asia/Saigon):
Redo to avoid link-to-link.
* europe (Hungary, Europe/Bucharest): Several pre-1946
corrections: in 1918 the transition out of DST was on 09-16, not
09-29; in 1919 it was on 11-24, not 09-15; in 1945 it was on
11-01, not 11-03; in 1941 the transition to DST was 04-08 not
04-06 at 02:00; and there was no DST in 1920.
(Poland): Add source for 1919.
* southamerica: Add link for America/Antigua.
* NEWS: Document the above. Add some thanks.
* africa (Africa/Luanda, Africa/Porto-Novo, Africa/Gaborone)
(Africa/Ouagadougou, Africa/Bujumbura, Africa/Douala, Africa/Bangui)
(Indian/Comoro, Africa/Kinshasa, Africa/Lubumbashi, Africa/Brazzaville)
(Africa/Djibouti, Africa/Malabo, Africa/Asmara, Africa/Addis_Ababa)
(Africa/Libreville, Africa/Banjul, Africa/Accra, Africa/Conakry)
(Africa/Maseru, Indian/Antananarivo, Africa/Blantyre, Africa/Bamako)
(Africa/Nouakchott, Indian/Mayotte, Africa/Maputo, Africa/Niamey)
(Africa/Kigali, Atlantic/St_Helena, Africa/Sao_Tome, Africa/Dakar)
(Africa/Freetown, Africa/Mogadishu, Africa/Mbabane, Africa/Dar_es_Salaam)
(Africa/Lome, Africa/Kampala, Africa/Lusaka, Africa/Harare):
* antarctica (Antarctica/Syowa):
Remove zone, replacing each with a link to a region that has had
the same UTC offset since 1970.
* NEWS: Document this.
This is like the 2013-09-02 change, but for the Pacific this time.
* antarctica (Antarctica/DumontDUrville):
* australasia (Pacific/Tahiti, Pacific/Saipan, Pacific/Majuro)
(Pacific/Chuuk, Pacific/Pohnpei, Pacific/Palau, Pacific/Funafuti)
(Pacific/Midway, Pacific/Wake, Pacific/Wallis):
Remove zone, replacing each with a link to a region that has had
the same UTC offset since 1970. This removes data that were
largely invented, either by us or almost surely by Shanks or his
sources.
* asia, australasia, northamerica: Create links accordingly.
* NEWS: Document this.
(Thanks to Vladimir Karpinsky for the Moscow corrections.)
Other corrections are taken from Milne 1899.
* asia (Asia/Tbilisi): Change LMT from 2:59:16 to 2:59:06.
(Asia/Tashkent): Change LMT from 4:37:12 to 4:37:11.
* europe (Europe/Helsinki): Change LMT from 1:39:52 to 1:39:49.
(Europe/Riga): Change LMT from 1:36:24 to 1:36:28.
(Europe/Moscow): Change LMT from 2:30:20 to 2:30:17.
Change 1916/9 time from 2:30:48 to 2:31:19.
(Asia/Yekaterinburg): Change LMT from 4:02:24 to 4:02:33.
(Asia/Irkutsk): Change LMT from 6:57:20 to 6:57:15.
(Asia/Vladivostok): Change LMT from 8:47:44 to 8:47:34.
* zone.tab (Europe/Moscow): Use Kilometer 0 point.
* NEWS: Document this.
My best guess is that the Asia/Tiksi entry is a false alarm,
and that the area hasn't diverged from Yakutsk since 1970.
* europe: Move zone.tab comments to zone.tab.
(Asia/Yakutsk): Move comment for Bulunsky district here,
Remove a comment about a draft Asia/Tiksi zone, containing the
Bulunsky district. We don't have sufficient evidence that it
ever diverged from Yakutsk after 1970.
* zone.tab (RU): Reorder entries to make more geographical sense.
Add comments for draft zones Asia/Chita, Asia/Srednekolymsk.
(Europe/Samara, Asia/Novokuznetsk, Asia/Magadan, Asia/Kamchatka)
(Asia/Anadyr): Mention that the Moscow offset changes 2014-10-26.
* NEWS: Document the above.
Also, a historical split.
* europe: Add commentary describing proposed future zones Asia/Chita and
Asia/Srednekolymsk, as well as proposed historical split Asia/Tiksi.
* NEWS: Document this.
This borrows heavily from Oscar van Vlijmen's earlier work here.
Mention recent mergers of regions as well.
* europe (Europe/Volgograd): Reattribute old comment to Paul Eggert.
(Asia/Yakutsk): Confirm that Zabaykalsky Krai will need its own zone
from 2014-10-26.
(Asia/Vladivostok): Mention that Bulunsky District will need its own
zone to correctly record its history.
(Asia/Magadan): Mention that the parts of Sakha (Yakutia) Republic and
the North Kuril Islands covered by this zone will need their own zone
from 2014-10-26.
* NEWS: Document this.
* europe: Fix an 80-column issue in commentary.
(Asia/Novokuznetsk): Switch abbreviation from NOVT to KRAT on 2014-10-26
at 02:00.
(Asia/Krasnoyarsk, Asia/Khandyga, Asia/Sakhalin, Asia/Ust-Nera):
Subtract an hour on 2014-10-26 at 02:00.
(Asia/Magadan): Subtract two hours at that time.
* zone.tab (Europe/Samara, Asia/Novokuznetsk, Asia/Magadan, Asia/Kamchatka)
(Asia/Anadyr): Update descriptions relative to Moscow time.
* NEWS: Document this.
(Thanks to Yu-Cheng Chuang.) Also, update time zone abbreviations for
Japan's two time zones used 1896-1937. JWST now stands for Western
Standard Time, and JCST for Central Standard Time (formerly this was CJT).
* asia (Taiwan): Omit DST during 1945.
(Asia/Taipei): Add a transition to JWST on 1896-01-01, then to
JST on 1937-10-01, then to CST on 1945-10-25.
(Asia/Tokyo): Rename CJT to JCST. Transition to JCST was 1937-10-01,
not 1938.
(Asia/Seoul, Asia/Pyongyang): Call UT+9 "JCST" until 1937-01-01,
"JST" thereafter. Assume JCST/JST until Allied takeover after WWII.
* NEWS: Document this.
(Thanks to Alexander Krivenyshev.)
* europe: Document FET separately. Add a comment about
whether Zabajkal'skij kraj needs a separate zone.
(Europe/Kaliningrad, Europe/Moscow, Europe/Simferopol, Europe/Volgograd)
(Asia/Yekaterinburg, Asia/Omsk, Asia/Novosibirsk, Asia/Irkutsk)
(Asia/Yakutsk, and Asia/Vladivostok): Subtract an hour from the
time zone on 2014-10-26 at 02:00 Moscow time.
(Europe/Simferopol): Move to after Europe/Moscow, to simplify
similar maintenance in the future.
* NEWS: Document this.
* NEWS, asia: Document this.
* asia (Asia/Harbin, Asia/Chongqing, Asia/Kashgar): Remove.
These are now links in 'backward'.
(Asia/Shanghai): Change pre-standard-time offset from 8:05:57 to
8:05:43. Change transition to standard time from 1928 to 1901.
(Asia/Urumqi): Remove 1980 transition to UTC+8.
* backward (Asia/Harbin, Asia/Chongqing, Asia/Kashgar): New links.
(Asia/Chungking): Avoid link-to-link.
* zone.tab (Asia/Harbin, Asia/Chongqing, Asia/Kashgar): Remove.
* NEWS, australasia (Aus, Australia/Darwin, AW, Australia/Perth)
(Australia/Eucla, AQ, Holiday, Australia/Brisbane, Australia/Lindeman)
(AS, Australia/Adelaide, AT, Australia/Hobart, Australia/Currie, AV)
(Australia/Melbourne, AN, Australia/Sydney, Australia/Broken_Hill)
(LH, Australia/Lord_Howe, Antarctica/Macquarie):
Prefix Australian time zone abbreviations with "A", and switch
from "ST" to "DT" to denote daylight saving time. (Thanks to Ian
Abbott, Russ Allbery, Timothy Arceri, Alan Barrett, Stuart Bishop,
Shaun Bouckaert, Stephen Colebourne, Tobias Conradi, Mark Davis,
Robert Elz, Clive D.W. Feather, Dennis Ferguson, Edwin Groothuis,
Guy Harris, John Hawkinson, John Haxby, Brian Inglis, Paul Koning,
Kevin Lyda, Curtis Manwaring, Alan Mintz, Arthur David Olson, Matt
Paine, David Patte, Tim Parenti, random832, Derick Rethans, SM,
Peter Stagg, Rich Tibbett, Bennett Todd, and Garrett Wollman for
their contributions to this topic.)
* tz-link.htm, NEWS: Mention Moment Timezone, TimezoneJS.Date, Walltime-js,
and Timezone. (Thanks to a heads-up from Matt Johnson.) Also, list
license for timezone-olson.
* zic.8, NEWS: Say that "." and ".." file name
components are not allowed in output file names.
* zic.c (componentcheck, namecheck): Do not allow such
file name components.
* zdump.c, zic.c: Don't include <ctype.h>, because the behavior if
its macros is locale-dependent if HAVE_GETTEXT, and we want the C
locale's semantics. Instead, use portable replacements for
ctype.h operations, with the desired semantics. All uses of
isalpha etc. replaced by calls to new functions is_alpha etc. or
by inline code.
(isascii): Remove.
(is_alpha): New function.
* zic.c (doabbr): Simplify by using is_alpha.
(is_space): New function.
* NEWS: Document the above.
* zic.c (componentcheck, namecheck): Warn about all '.'s in
the file name, not merely about "." and ".." file name components.
* zic.8 (DESCRIPTION), NEWS: Document this.
Also, document the longstanding exceptions to POSIX.
Derived from Arthur David Olson's patch in:
http://mm.icann.org/pipermail/tz/2014-June/021052.html
* Theory: Document the exceptional file name components in 'etcetera'
and 'backward' that contain '+' or digits, or are too long.
* zic.8 (DESCRIPTION): Document the change to zic.
* zic.c (component_length_check, namecheck): New functions.
(dolink, writezone): Use them to check that file name components
obey the POSIX rules, and do not contain "." or "..".
* NEWS: Document the above.
Change attributions for contributors' names using the Latin alphabet
only where it was possible to reconstruct from mailing list records.
Leave attributions for Андрей Чернов, Иофис Герман Романович, and 李耀
宗 with their romanized versions instead (Andrey A. Chernov, German
Iofis, and Lee Yiu Chung, respectively).
(Thanks to Garrett Wollman for reporting the problem.)
* NEWS, Theory, northamerica: Add "coding: utf-8" directives so
that GNU Emacs, when run in a unibyte locale, does not mistakenly
interpret these files to be unibyte. This change should make no
difference if you use Emacs to read these files in a UTF-8 locale.
I didn't bother to add coding directives to files where GNU Emacs
already deduces the encoding correctly in a Latin-1 locale.
Garrett Wollman reported privately that XEmacs 21.4.22, the current
stable version, doesn't work with the UTF-8 recently introduced
into our commentary. For example, the UTF-8 character '−'
(MINUS SIGN), which is stored as the three bytes "\342\210\222",
displays as 'â\210\222'. For proper names this is annoying but
tolerable, as there's little loss in utility from (say) 'Racoviță'
to its display form 'RacoviÈ\233Ä\203'. But for symbols this is a
real pain that can make it hard to understand the documentation, e.g.,
'Release 2014e – 2014-06-12 21:53:52 −0700' displays as
'Release 2014e â\200\223 2014-06-12 21:53:52 â\210\2220700'.
To work around this problem, make the following substitutions in
commentary to mostly revert these symbols to their pre-UTF-8 versions:
'§' -> 'section', '°' -> 'degrees', '±' -> '+-', '–' -> '-' (en
dash), '—' -> '--' (em dash), '′' -> "'", '″' -> '"', '→' -> '->',
'−' -> '-' (minus sign), '≤' -> '<='. Leave proper names and
foreign words in UTF-8.
These changes pacify gcc 4.8.2-19ubuntu1 on Ubuntu 14.04,
and take advantage of recently-added GCC options when compiling
with GCC_DEBUG_FLAGS.
* Makefile (GCC_DEBUG_FLAGS): Add -Wdeclaration-after-statement,
-Wjump-misses-init, -Wsuggest-attribute=format.
* date.c (copyright, sccsid):
* strftime.c (sccsid):
Remove unused vars.
* date.c (main):
* localtime.c (tzparse):
Remove no-longer-needed uses of INITIALIZE; GCC is smart enough to
figure these out on its own now.
* localtime.c (gmtsub): Redo initialization of gmt_is_set to pacify GCC.
Retry malloc next time even if it failed this time.
* private.h, zdump.c (GNUC_or_lint): Remove, as it provoked a GCC
diagnostic about unused macros in some cases. Instead, just use
'lint'. All uses removed.
(TZ_DOMAIN): Don't define unless needed, as otherwise it provokes
a GCC diagnostic about unused macros.
* private.h (INITIALIZE): Simplify accordingly.
* NEWS: Document this.
Most of this patch is to commentary, to distinguish better among
the similar characters hyphen '-', minus sign '−', en dash '–' (used
for ranges), and em dash '—'. Render ordinary dashes in text as
spaced en dashes, as this gives better-looking results in monospaced
fonts.
* yearistype.sh, zic.c: Reword diagnostics so that they do not use
hyphens as if they were dashes. Since we are sticking to ASCII in
programs, we can't use proper dashes in diagnostics.