Proposed changes to tz package
Here are proposed change to the time zone package. Included: * corrections of the spelling of UNIX and of its trademark holder. * correct version number in iso3166.tab * normalize format of comments in localtime.c * change mktime to search temporally backward through used time corrections when making DST adjustments * change Makefile to generate text versions of man pages and to check for uses of 24:00 in input files * change northamerica to avoid use of 24:00 and to normalize a date appearing in a comment * add workman.sh script for generating text versions of man pages * change zic.c to warn about use of 24:00 if the -v option is used * change zic.8 to document warnings about 24:00 --ado ------- europe ------- *** /tmp/geta11168 Thu Dec 4 12:00:25 2003 --- /tmp/getb11168 Thu Dec 4 12:00:25 2003 *************** *** 1,4 **** ! # @(#)europe 7.84 # This data is by no means authoritative; if you think you know better, # go ahead and edit the file (and please send any changes to --- 1,4 ---- ! # @(#)europe 7.85 # This data is by no means authoritative; if you think you know better, # go ahead and edit the file (and please send any changes to *************** *** 1831,1837 **** # # From Andrey A. Chernov <ache@nagual.ru> (1996-10-04): # `MSK' and `MSD' were born and used initially on Moscow computers with ! # Unix-like OSes by several developer groups (e.g. Demos group, Kiae group).... # The next step was the UUCP network, the Relcom predecessor # (used mainly for mail), and MSK/MSD was actively used there. # --- 1831,1837 ---- # # From Andrey A. Chernov <ache@nagual.ru> (1996-10-04): # `MSK' and `MSD' were born and used initially on Moscow computers with ! # UNIX-like OSes by several developer groups (e.g. Demos group, Kiae group).... # The next step was the UUCP network, the Relcom predecessor # (used mainly for mail), and MSK/MSD was actively used there. # ------- iso3166.tab ------- *** /tmp/geta11187 Thu Dec 4 12:00:25 2003 --- /tmp/getb11187 Thu Dec 4 12:00:25 2003 *************** *** 1,6 **** # ISO 3166 alpha-2 country codes # ! # @(#)iso3166.tab 1.9 # # From Paul Eggert <eggert@twinsun.com> (2003-02-04): # --- 1,6 ---- # ISO 3166 alpha-2 country codes # ! # @(#)iso3166.tab 1.14 # # From Paul Eggert <eggert@twinsun.com> (2003-02-04): # ------- localtime.c ------- *** /tmp/geta11206 Thu Dec 4 12:00:25 2003 --- /tmp/getb11206 Thu Dec 4 12:00:25 2003 *************** *** 5,11 **** #ifndef lint #ifndef NOID ! static char elsieid[] = "@(#)localtime.c 7.76"; #endif /* !defined NOID */ #endif /* !defined lint */ --- 5,11 ---- #ifndef lint #ifndef NOID ! static char elsieid[] = "@(#)localtime.c 7.78"; #endif /* !defined NOID */ #endif /* !defined lint */ *************** *** 1053,1060 **** } /* ! * Re-entrant version of localtime ! */ struct tm * localtime_r(timep, tm) const time_t * const timep; --- 1053,1061 ---- } /* ! ** Re-entrant version of localtime. ! */ ! struct tm * localtime_r(timep, tm) const time_t * const timep; *************** *** 1113,1120 **** } /* ! * Re-entrant version of gmtime ! */ struct tm * gmtime_r(timep, tm) const time_t * const timep; --- 1114,1122 ---- } /* ! * Re-entrant version of gmtime. ! */ ! struct tm * gmtime_r(timep, tm) const time_t * const timep; *************** *** 1503,1508 **** --- 1505,1515 ---- register time_t t; register const struct state * sp; register int samei, otheri; + register int sameind, otherind; + register int i; + register int nseen; + int seen[TZ_MAX_TYPES]; + int types[TZ_MAX_TYPES]; int okay; if (tmp->tm_isdst > 1) *************** *** 1536,1545 **** if (sp == NULL) return WRONG; #endif /* defined ALL_STATE */ ! for (samei = sp->typecnt - 1; samei >= 0; --samei) { if (sp->ttis[samei].tt_isdst != tmp->tm_isdst) continue; ! for (otheri = sp->typecnt - 1; otheri >= 0; --otheri) { if (sp->ttis[otheri].tt_isdst == tmp->tm_isdst) continue; tmp->tm_sec += sp->ttis[otheri].tt_gmtoff - --- 1543,1562 ---- if (sp == NULL) return WRONG; #endif /* defined ALL_STATE */ ! for (i = 0; i < sp->typecnt; ++i) ! seen[i] = FALSE; ! nseen = 0; ! for (i = sp->timecnt - 1; i >= 0; --i) ! if (!seen[sp->types[i]]) { ! seen[sp->types[i]] = TRUE; ! types[nseen++] = sp->types[i]; ! } ! for (sameind = 0; sameind < nseen; ++sameind) { ! samei = types[sameind]; if (sp->ttis[samei].tt_isdst != tmp->tm_isdst) continue; ! for (otherind = 0; otherind < nseen; ++otherind) { ! otheri = types[otherind]; if (sp->ttis[otheri].tt_isdst == tmp->tm_isdst) continue; tmp->tm_sec += sp->ttis[otheri].tt_gmtoff - ------- Makefile ------- *** /tmp/geta11225 Thu Dec 4 12:00:26 2003 --- /tmp/getb11225 Thu Dec 4 12:00:26 2003 *************** *** 1,4 **** ! # @(#)Makefile 7.83 # Change the line below for your time zone (after finding the zone you want in # the time zone files, or adding it to a time zone file). --- 1,4 ---- ! # @(#)Makefile 7.89 # Change the line below for your time zone (after finding the zone you want in # the time zone files, or adding it to a time zone file). *************** *** 268,274 **** WEB_PAGES= tz-art.htm tz-link.htm MISC= usno1988 usno1989 usno1989a usno1995 usno1997 usno1998 \ $(WEB_PAGES) checktab.awk ! ENCHILADA= $(DOCS) $(SOURCES) $(DATA) $(MISC) # And for the benefit of csh users on systems that assume the user # shell should be used to handle commands in Makefiles. . . --- 268,274 ---- WEB_PAGES= tz-art.htm tz-link.htm MISC= usno1988 usno1989 usno1989a usno1995 usno1997 usno1998 \ $(WEB_PAGES) checktab.awk ! ENCHILADA= $(DOCS) $(SOURCES) $(DATA) $(MISC) workman.sh # And for the benefit of csh users on systems that assume the user # shell should be used to handle commands in Makefiles. . . *************** *** 383,392 **** public: $(ENCHILADA) zic -mkdir /tmp/,tzpublic ! for i in $(TDATA) ; do zic -d /tmp/,tzpublic $$i ; done rm -f -r /tmp/,tzpublic $(AWK) -f checktab.awk $(PRIMARY_YDATA) ! tar cf - $(DOCS) $(SOURCES) $(MISC) | gzip -9 > tzcode.tar.gz tar cf - $(DATA) | gzip -9 > tzdata.tar.gz zonenames: $(TDATA) --- 383,394 ---- public: $(ENCHILADA) zic -mkdir /tmp/,tzpublic ! -for i in $(TDATA) ; do zic -v -d /tmp/,tzpublic $$i 2>&1 | grep -v "starting year" ; done ! for i in $(TDATA) ; do zic -d /tmp/,tzpublic $$i; done rm -f -r /tmp/,tzpublic + for i in *.[1-8] ; do sh workman.sh $$i > $$i.txt; done $(AWK) -f checktab.awk $(PRIMARY_YDATA) ! tar cf - $(DOCS) $(SOURCES) $(MISC) *.[1-8].txt | gzip -9 > tzcode.tar.gz tar cf - $(DATA) | gzip -9 > tzdata.tar.gz zonenames: $(TDATA) ------- northamerica ------- *** /tmp/geta11244 Thu Dec 4 12:00:26 2003 --- /tmp/getb11244 Thu Dec 4 12:00:26 2003 *************** *** 1,4 **** ! # @(#)northamerica 7.63 # also includes Central America and the Caribbean # This data is by no means authoritative; if you think you know better, --- 1,4 ---- ! # @(#)northamerica 7.65 # also includes Central America and the Caribbean # This data is by no means authoritative; if you think you know better, *************** *** 405,411 **** -7:00 - MST # From Arthur David Olson (1988-02-13): # A writer from the Inter Tribal Council of Arizona, Inc., ! # notes in private correspondence dated 12/28/87 that "Presently, only the # Navajo Nation participates in the Daylight Saving Time policy, due to its # large size and location in three states." (The "only" means that other # tribal nations don't use DST.) --- 405,411 ---- -7:00 - MST # From Arthur David Olson (1988-02-13): # A writer from the Inter Tribal Council of Arizona, Inc., ! # notes in private correspondence dated 1987-12-28 that "Presently, only the # Navajo Nation participates in the Daylight Saving Time policy, due to its # large size and location in three states." (The "only" means that other # tribal nations don't use DST.) *************** *** 951,958 **** Rule Mont 1924 only - May 17 2:00 1:00 D Rule Mont 1924 1926 - Sep lastSun 2:30 0 S Rule Mont 1925 1926 - May Sun>=1 2:00 1:00 D ! Rule Mont 1927 1937 - Apr lastSat 24:00 1:00 D ! Rule Mont 1927 1937 - Sep lastSat 24:00 0 S Rule Mont 1938 1940 - Apr lastSun 0:00 1:00 D Rule Mont 1938 1939 - Sep lastSun 0:00 0 S Rule Mont 1946 1973 - Apr lastSun 2:00 1:00 D --- 951,968 ---- Rule Mont 1924 only - May 17 2:00 1:00 D Rule Mont 1924 1926 - Sep lastSun 2:30 0 S Rule Mont 1925 1926 - May Sun>=1 2:00 1:00 D ! # The 1927-to-1937 rules can be expressed more simply as ! # Rule Mont 1927 1937 - Apr lastSat 24:00 1:00 D ! # Rule Mont 1927 1937 - Sep lastSat 24:00 0 S ! # The rules below avoid use of 24:00 ! # (which pre-1998 versions of zic cannot handle). ! Rule Mont 1927 only - May 1 0:00 1:00 D ! Rule Mont 1928 1931 - Apr lastSun 0:00 1:00 D ! Rule Mont 1932 only - May 1 0:00 1:00 D ! Rule Mont 1933 1937 - Apr lastSun 0:00 1:00 D ! Rule Mont 1927 1932 - Sep lastSun 0:00 0 S ! Rule Mont 1933 only - Oct 1 0:00 0 S ! Rule Mont 1934 1937 - Sep lastSun 0:00 0 S Rule Mont 1938 1940 - Apr lastSun 0:00 1:00 D Rule Mont 1938 1939 - Sep lastSun 0:00 0 S Rule Mont 1946 1973 - Apr lastSun 2:00 1:00 D *************** *** 975,982 **** Rule Toronto 1928 only - Apr lastSun 2:00 1:00 D Rule Toronto 1929 only - Apr lastSun 0:00 1:00 D Rule Toronto 1929 only - Sep lastSun 0:00 0 S ! Rule Toronto 1930 1937 - Apr lastSat 24:00 1:00 D ! Rule Toronto 1930 1937 - Sep lastSat 24:00 0 S Rule Toronto 1938 1940 - Apr lastSun 0:00 1:00 D Rule Toronto 1938 1939 - Sep lastSun 0:00 0 S Rule Toronto 1945 1946 - Sep lastSun 2:00 0 S --- 985,1001 ---- Rule Toronto 1928 only - Apr lastSun 2:00 1:00 D Rule Toronto 1929 only - Apr lastSun 0:00 1:00 D Rule Toronto 1929 only - Sep lastSun 0:00 0 S ! # The 1930-to-1937 rules can be expressed more simply as ! # Rule Toronto 1930 1937 - Apr lastSat 24:00 1:00 D ! # Rule Toronto 1930 1937 - Sep lastSat 24:00 0 S ! # The rules below avoid use of 24:00 ! # (which pre-1998 versions of zic cannot handle). ! Rule Toronto 1930 1931 - Apr lastSun 0:00 1:00 D ! Rule Toronto 1932 only - May 1 0:00 1:00 D ! Rule Toronto 1933 1937 - Apr lastSun 0:00 1:00 D ! Rule Toronto 1930 1932 - Sep lastSun 0:00 0 S ! Rule Toronto 1933 only - Oct 1 0:00 0 S ! Rule Toronto 1934 1937 - Sep lastSun 0:00 0 S Rule Toronto 1938 1940 - Apr lastSun 0:00 1:00 D Rule Toronto 1938 1939 - Sep lastSun 0:00 0 S Rule Toronto 1945 1946 - Sep lastSun 2:00 0 S ------- private.h ------- *** /tmp/geta11263 Thu Dec 4 12:00:26 2003 --- /tmp/getb11263 Thu Dec 4 12:00:26 2003 *************** *** 21,27 **** #ifndef lint #ifndef NOID ! static char privatehid[] = "@(#)private.h 7.52"; #endif /* !defined NOID */ #endif /* !defined lint */ --- 21,27 ---- #ifndef lint #ifndef NOID ! static char privatehid[] = "@(#)private.h 7.53"; #endif /* !defined NOID */ #endif /* !defined lint */ *************** *** 288,294 **** #endif /* HAVE_INCOMPATIBLE_CTIME_R */ /* ! ** UNIX was a registered trademark of UNIX System Laboratories in 1993. */ #endif /* !defined PRIVATE_H */ --- 288,294 ---- #endif /* HAVE_INCOMPATIBLE_CTIME_R */ /* ! ** UNIX was a registered trademark of The Open Group in 2003. */ #endif /* !defined PRIVATE_H */ ------- Theory ------- *** /tmp/geta11282 Thu Dec 4 12:00:26 2003 --- /tmp/getb11282 Thu Dec 4 12:00:27 2003 *************** *** 1,4 **** ! @(#)Theory 7.13 ----- Outline ----- --- 1,4 ---- ! @(#)Theory 7.14 ----- Outline ----- *************** *** 12,18 **** ----- Time and date functions ----- These time and date functions are upwards compatible with POSIX.1, ! an international standard for Unix-like systems. As of this writing, the current edition of POSIX.1 is: Information technology --Portable Operating System Interface (POSIX (R)) --- 12,18 ---- ----- Time and date functions ----- These time and date functions are upwards compatible with POSIX.1, ! an international standard for UNIX-like systems. As of this writing, the current edition of POSIX.1 is: Information technology --Portable Operating System Interface (POSIX (R)) *************** *** 144,150 **** since the format of zic's input changed slightly in late 1994, and many vendors still do not support the new input format. ! * The Unix Version 7 "timezone" function is not present in this package; it's impossible to reliably map timezone's arguments (a "minutes west of GMT" value and a "daylight saving time in effect" flag) to a time zone abbreviation, and we refuse to guess. --- 144,150 ---- since the format of zic's input changed slightly in late 1994, and many vendors still do not support the new input format. ! * The UNIX Version 7 "timezone" function is not present in this package; it's impossible to reliably map timezone's arguments (a "minutes west of GMT" value and a "daylight saving time in effect" flag) to a time zone abbreviation, and we refuse to guess. ------- workman.sh ------- *** /tmp/geta11301 Thu Dec 4 12:00:27 2003 --- /tmp/getb11301 Thu Dec 4 12:00:27 2003 *************** *** 0 **** --- 1,29 ---- + #! /bin/sh + + # @(#)workman.sh 1.7 + + # Tell groff not to emit SGR escape sequences (ANSI color escapes). + GROFF_NO_SGR=1 + export GROFF_NO_SGR + + echo ".am TH + .hy 0 + .na + .. + .rm }H + .rm }F" | nroff -man - ${1+"$@"} | perl -ne ' + chomp; + s/.\010//g; + s/\s*$//; + if (/^$/) { + $sawblank = 1; + next; + } else { + if ($sawblank && $didprint) { + print "\n"; + $sawblank = 0; + } + print "$_\n"; + $didprint = 1; + } + ' ------- zic.c ------- *** /tmp/geta11320 Thu Dec 4 12:00:27 2003 --- /tmp/getb11320 Thu Dec 4 12:00:27 2003 *************** *** 1,4 **** ! static char elsieid[] = "@(#)zic.c 7.113"; #include "private.h" #include "locale.h" --- 1,4 ---- ! static char elsieid[] = "@(#)zic.c 7.115"; #include "private.h" #include "locale.h" *************** *** 931,936 **** --- 931,938 ---- error(errstring); return 0; } + if (noise && hh == HOURSPERDAY) + warning(_("24:00 not handled by pre-1998 versions of zic")); return eitol(sign) * (eitol(hh * MINSPERHOUR + mm) * eitol(SECSPERMIN) + eitol(ss)); *************** *** 2230,2234 **** } /* ! ** UNIX was a registered trademark of UNIX System Laboratories in 1993. */ --- 2232,2236 ---- } /* ! ** UNIX was a registered trademark of The Open Group in 2003. */ ------- zic.8 ------- *** /tmp/geta11429 Thu Dec 4 12:11:14 2003 --- /tmp/getb11429 Thu Dec 4 12:11:14 2003 *************** *** 81,86 **** --- 81,89 ---- of years representable by .IR time (2) values. + Also complain if a time of 24:00 + (which cannot be handled by pre-1998 versions of zic) + appears in the input. .TP .B \-s Limit time values stored in output files to values that are the same *************** *** 417,420 **** /usr/local/etc/zoneinfo standard directory used for created files .SH "SEE ALSO" newctime(3), tzfile(5), zdump(8) ! .\" @(#)zic.8 7.20 --- 420,423 ---- /usr/local/etc/zoneinfo standard directory used for created files .SH "SEE ALSO" newctime(3), tzfile(5), zdump(8) ! .\" @(#)zic.8 7.21
At Thu, 4 Dec 2003 12:19:40 -0500, "Olson, Arthur David (NIH/NCI)" <olsona@dc37a.nci.nih.gov> writes:
Here are proposed change to the time zone package.
Those changes look good. Here is a set of proposed further changes to fix a few minor typos, and correct some other historical data. None of these are urgent, but while we're fixing things we might as well get up-to-date. I've sent you the Makefile changes by private mail so that part may be repetitive, but the other stuff should be all new. Makefile changes: * Add a 'maintainer-clean' action to remove files that the maintainers know how to recreate. * Exit immediately if an iteration of a for-loop fails. Historical time-stamp changes: * America/Cuiaba did not observe DST in 1994/1995. Also, assume that America/Noronha was like Pernambuco, as Brazilian law specifies, and observed DST in 1999/2000 and 2001/2002. (Thanks to Rodrigo Severo for this info.) * Peru observed DST in early 1986. (Thanks to Evelyn C. Leeper via Mark Brader for this info.) * Fix several Malaysia and Singapore entries before 1983. Among other things, they enjoyed 20-minute DST from 1933 to 1936, and we have more-accurate dates for WWII transitions. (Thanks to Mok Ly Yng for this info.) * Toronto transitions in the 1930s were at 02:00, not at 00:00, says Shanks. (This fixes a typo that I introduced earlier; sorry.) * Thunder Bay did not officially observe DST before 1942. (Thanks to David Bryan and the Thunder Bay Museum for this info.) Data cleanup that should not result in any user-visible change: * Simplify the representation of the Montreal transitions in the 1930s. Commentary changes: * Normalize some spellings of Russian districts (Thanks to Oscar van Vlijmen for this info.) * Mention more details about time zone boundaries in the US. * Chiselhurst -> Chislehurst (Thanks to Gwillim Law for this.) HTML changes: * Add references to the Perl DateTime Project. * Add reference to the munnari archive for old tz data. * Add reference to "Time zone boundaries for multizone countries". * Add references for Malaysia, Singapore. * Vzic and Statoids moved. Man page change: * Italicize "zic". diff -pru tz-tmp/Makefile tz/Makefile --- tz-tmp/Makefile 2003-12-09 21:45:59.395178000 -0800 +++ tz/Makefile 2003-12-10 00:08:36.000000000 -0800 @@ -376,6 +376,11 @@ clean: rm -f core *.o *.out tzselect zdump zic yearistype date \ ,* *.tar.gz +maintainer-clean: clean + @echo 'This command is intended for maintainers to use; it' + @echo 'deletes files that may need special tools to rebuild.' + rm -f *.txt + names: @echo $(ENCHILADA) @@ -384,9 +389,9 @@ names: public: $(ENCHILADA) zic -mkdir /tmp/,tzpublic -for i in $(TDATA) ; do zic -v -d /tmp/,tzpublic $$i 2>&1 | grep -v "starting year" ; done - for i in $(TDATA) ; do zic -d /tmp/,tzpublic $$i; done + for i in $(TDATA) ; do zic -d /tmp/,tzpublic $$i || exit; done rm -f -r /tmp/,tzpublic - for i in *.[1-8] ; do sh workman.sh $$i > $$i.txt; done + for i in *.[1-8] ; do sh workman.sh $$i > $$i.txt || exit; done $(AWK) -f checktab.awk $(PRIMARY_YDATA) tar cf - $(DOCS) $(SOURCES) $(MISC) *.[1-8].txt | gzip -9 > tzcode.tar.gz tar cf - $(DATA) | gzip -9 > tzdata.tar.gz diff -pru tz-tmp/asia tz/asia --- tz-tmp/asia 2003-10-06 06:32:20.000000000 -0700 +++ tz/asia 2003-12-10 00:08:36.000000000 -0800 @@ -1011,22 +1011,33 @@ Zone Asia/Beirut 2:22:00 - LMT 1880 Rule NBorneo 1935 1941 - Sep 14 0:00 0:20 TS # one-Third Summer Rule NBorneo 1935 1941 - Dec 14 0:00 0 - # -# Zone NAME GMTOFF RULES FORMAT [UNTIL] # peninsular Malaysia +# From Paul Eggert (2003-11-01): +# The data here are taken from Mok Ly Yng (2003-10-30) +# <http://www.math.nus.edu.sg/aslaksen/teaching/timezone.html>. +# Before 1901, Penang, Malacca and Singapore each had their own time zone; +# assume Kuala Lumpur used Malaccan time. +# Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Kuala_Lumpur 6:46:48 - LMT 1880 - 6:55:24 - SMT 1905 Jun # Singapore Mean Time - 7:00 - MALT 1933 # Malaya Time - 7:20 - MALT 1942 Feb 15 - 9:00 - JST 1945 Sep 2 - 7:20 - MALT 1950 - 7:30 - MALT 1982 May + 6:49:00 - MMT 1901 Jan 1 # Malacca Mean Time + 6:55:25 - SMT 1905 Jun 1 # Singapore M.T. + 7:00 - MALT 1933 Jan 1 # Malaya Time + 7:00 0:20 MALST 1936 + 7:20 - MALT 1941 Sep 1 + 7:30 - MALT 1942 Feb 16 + 9:00 - JST 1945 Sep 12 + 7:30 - MALT 1982 Jan 1 8:00 - MYT # Malaysia Time # Sabah & Sarawak +# From Paul Eggert (2003-11-01): +# The data here are mostly from Shanks, but the 1942, 1945 and 1982 +# transition dates are from Mok Ly Yng. +# Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Kuching 7:21:20 - LMT 1926 Mar 7:30 - BORT 1933 # Borneo Time - 8:00 NBorneo BOR%sT 1942 - 9:00 - JST 1945 Sep 2 - 8:00 - BORT 1982 May + 8:00 NBorneo BOR%sT 1942 Feb 16 + 9:00 - JST 1945 Sep 12 + 8:00 - BORT 1982 Jan 1 8:00 - MYT # Maldives @@ -1295,15 +1306,18 @@ Zone Asia/Riyadh 3:06:52 - LMT 1950 3:00 - AST # Singapore +# The data here are taken from Mok Ly Yng (2003-10-30) +# <http://www.math.nus.edu.sg/aslaksen/teaching/timezone.html>. # Zone NAME GMTOFF RULES FORMAT [UNTIL] -Zone Asia/Singapore 6:55:24 - LMT 1880 - 6:55:24 - SMT 1905 Jun # Singapore Mean Time - 7:00 - MALT 1933 # Malaya Time - 7:20 - MALT 1942 Feb 15 - 9:00 - JST 1945 Sep 2 - 7:20 - MALT 1950 +Zone Asia/Singapore 6:55:25 - LMT 1880 + 6:55:25 - SMT 1905 Jun 1 # Singapore M.T. + 7:00 - MALT 1933 Jan 1 # Malaya Time + 7:00 0:20 MALST 1936 + 7:20 - MALT 1941 Sep 1 + 7:30 - MALT 1942 Feb 16 + 9:00 - JST 1945 Sep 12 7:30 - MALT 1965 Aug 9 # independence - 7:30 - SGT 1982 May # Singapore Time + 7:30 - SGT 1982 Jan 1 # Singapore Time 8:00 - SGT # Spratly Is diff -pru tz-tmp/europe tz/europe --- tz-tmp/europe 2003-12-09 21:44:55.825043000 -0800 +++ tz/europe 2003-12-10 00:08:36.000000000 -0800 @@ -129,7 +129,7 @@ # transition date for London, namely 1847-12-01. We don't know as much # about Dublin, so we use 1880-08-02, the legal transition time. -# From Paul Eggert (2003-07-29): +# From Paul Eggert (2003-09-27): # Summer Time was first seriously proposed by William Willett (1857-1915), # a London builder and member of the Royal Astronomical Society # who circulated a pamphlet ``The Waste of Daylight'' (1907) @@ -141,7 +141,7 @@ # it was eventually adopted as a wartime measure in 1916. # See: Summer Time Arrives Early, The Times (2000-05-18). # A monument to Willett was unveiled on 1927-05-21, in an open space in -# a 45-acre wood near Chiselhurst, Kent that was purchased by popular +# a 45-acre wood near Chislehurst, Kent that was purchased by popular # subscription and open to the public. On the south face of the monolith, # designed by G. W. Miller, is the the William Willett Memorial Sundial, # which is permanently set to Summer Time. @@ -1952,28 +1952,26 @@ Zone Asia/Irkutsk 6:57:20 - LMT 1880 7:00 Russia IRK%sT 1992 Jan 19 2:00s 8:00 Russia IRK%sT # -# From Oscar van Vlijmen (2001-08-25): [This region consists of] +# From Oscar van Vlijmen (2003-10-18): [This region consists of] # Aginskij Buryatskij avtonomnyj okrug, Amurskaya oblast', # [parts of] Respublika Sakha (Yakutiya), Chitinskaya oblast'. -# -# From Alan Pritchard (2001-08-24): [The Sakha districts are:] -# Aldansky, Amginsky, Anabarsky, Bulunsky, Churapchinsky, -# Eveno-Bytantaisky, Gorny, Khangalassky, Kobyaisky, Lensky, -# Megino-Kangalassky, Mirninsky, Namsky, Nyurbinsky, Olenyoksky, -# Olyokminsky, Srednekolymsky, Suntarsky, Tattinsky, Ust-Aldansky, -# Verkhnekolymsky, Verkhnevilyuisky, Vilyuisky, Zhigansky. +# The Sakha districts are: Aldanskij, Amginskij, Anabarskij, +# Bulunskij, Verkhnekolymskij, Verkhnevilyujskij, Vilyujskij, Gornyj, +# Zhiganskij, Kobyajskij, Lenskij, Megino-Kangalasskij, Mirninskij, +# Namskij, Nyurbinskij, Olenekskij, Olekminskij, Srednekolymskij, +# Suntarskij, Tattinskij, Ust'-Aldanskij, Khangalasskij, +# Churapchinskij, Eveno-Bytantajskij. Zone Asia/Yakutsk 8:38:40 - LMT 1919 Dec 15 8:00 - YAKT 1930 Jun 21 # Yakutsk Time 9:00 Russia YAK%sT 1991 Mar 31 2:00s 8:00 Russia YAK%sT 1992 Jan 19 2:00s 9:00 Russia YAK%sT # -# From Oscar van Vlijmen (2001-08-25): [This region consists of] +# From Oscar van Vlijmen (2003-10-18): [This region consists of] # Evrejskaya avtonomnaya oblast', Khabarovskij kraj, Primorskij kraj, # [parts of] Respublika Sakha (Yakutiya). -# -# From Alan Pritchard (2001-08-24): [The Sakha districts are:] -# Tomponsky, Ust-Maisky, Ust-Yansky, Verkhoyansky. +# The Sakha districts are: Verkhoyanskij, Tomponskij, Ust'-Majskij, +# Ust'-Yanskij. Zone Asia/Vladivostok 8:47:44 - LMT 1922 Nov 15 9:00 - VLAT 1930 Jun 21 # Vladivostok Time 10:00 Russia VLA%sT 1991 Mar 31 2:00s @@ -1990,11 +1988,11 @@ Zone Asia/Sakhalin 9:30:48 - LMT 1905 A 11:00 Russia SAK%sT 1997 Mar lastSun 2:00s 10:00 Russia SAK%sT # -# From Oscar van Vlijmen (2001-08-25): [This region consists of] +# From Oscar van Vlijmen (2003-10-18): [This region consists of] # Magadanskaya oblast', Respublika Sakha (Yakutiya). -# -# From Alan Pritchard (2001-08-24): [The Sakha districts are:] -# Abyisky, Allaikhovsky, Momsky, Nizhnekolymsky, Oimyakonsky. +# Probably also: Kuril Islands. +# The Sakha districts are: Abyjskij, Allaikhovskij, Momskij, +# Nizhnekolymskij, Ojmyakonskij. Zone Asia/Magadan 10:03:12 - LMT 1924 May 2 10:00 - MAGT 1930 Jun 21 # Magadan Time 11:00 Russia MAG%sT 1991 Mar 31 2:00s diff -pru tz-tmp/northamerica tz/northamerica --- tz-tmp/northamerica 2003-12-09 21:46:30.175249000 -0800 +++ tz/northamerica 2003-12-10 00:08:36.000000000 -0800 @@ -228,7 +228,9 @@ Zone America/New_York -4:56:02 - LMT 188 # US central time, represented by Chicago -# Alabama, Arkansas, Florida panhandle, Illinois, western Indiana +# Alabama, Arkansas, Florida panhandle (Bay, Calhoun, Escambia, +# Gulf, Holmes, Jackson, Okaloosa, Santa Rosa, Walton, and +# Washington counties), Illinois, western Indiana # (Gibson, Jasper, Lake, LaPorte, Newton, Porter, Posey, Spencer, # Vanderburgh, and Warrick counties), Iowa, most of Kansas, western # Kentucky, Louisiana, Minnesota, Mississippi, Missouri, eastern @@ -258,7 +260,7 @@ Zone America/North_Dakota/Center -6:45:1 # US mountain time, represented by Denver # -# Colorado, southern Idaho, far western Kansas, Montana, western +# Colorado, far western Kansas, Montana, western # Nebraska, Nevada border (Jackpot, Owyhee, and Mountain City), # New Mexico, southwestern North Dakota, far eastern Oregon, # western South Dakota, far western Texas (El Paso County, Hudspeth County, @@ -280,7 +282,9 @@ Zone America/Denver -6:59:56 - LMT 1883 # US Pacific time, represented by Los Angeles # -# California, northern Idaho, most of Nevada, most of Oregon, and Washington +# California, northern Idaho (Benewah, Bonner, Boundary, Clearwater, +# Idaho, Kootenai, Latah, Lewis, Nez Perce, and Shoshone counties), +# most of Nevada, most of Oregon, and Washington # # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER Rule CA 1948 only - Mar 14 2:00 1:00 D @@ -412,7 +416,13 @@ Zone America/Phoenix -7:28:18 - LMT 1883 Link America/Denver America/Shiprock -# Southern Idaho and eastern Oregon switched four weeks late in 1974. +# Southern Idaho (Ada, Adams, Bannock, Bear Lake, Bingham, Blaine, +# Boise, Bonneville, Butte, Camas, Canyon, Caribou, Cassia, Clark, +# Custer, Elmore, Franklin, Fremont, Gem, Gooding, Jefferson, Jerome, +# Lemhi, Lincoln, Madison, Minidoka, Oneida, Owyhee, Payette, Power, +# Teton, Twin Falls, Valley, Washington counties) and eastern Oregon +# switched four weeks late in 1974. +# # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Boise -7:44:49 - LMT 1883 Nov 18 12:00 -8:00 US P%sT 1923 May 13 2:00 @@ -957,14 +967,12 @@ Rule Mont 1925 1926 - May Sun>=1 2:00 1: # The rules below avoid use of 24:00 # (which pre-1998 versions of zic cannot handle). Rule Mont 1927 only - May 1 0:00 1:00 D +Rule Mont 1927 1932 - Sep lastSun 0:00 0 S Rule Mont 1928 1931 - Apr lastSun 0:00 1:00 D Rule Mont 1932 only - May 1 0:00 1:00 D -Rule Mont 1933 1937 - Apr lastSun 0:00 1:00 D -Rule Mont 1927 1932 - Sep lastSun 0:00 0 S +Rule Mont 1933 1940 - Apr lastSun 0:00 1:00 D Rule Mont 1933 only - Oct 1 0:00 0 S -Rule Mont 1934 1937 - Sep lastSun 0:00 0 S -Rule Mont 1938 1940 - Apr lastSun 0:00 1:00 D -Rule Mont 1938 1939 - Sep lastSun 0:00 0 S +Rule Mont 1934 1939 - Sep lastSun 0:00 0 S Rule Mont 1946 1973 - Apr lastSun 2:00 1:00 D Rule Mont 1945 1948 - Sep lastSun 2:00 0 S Rule Mont 1949 1950 - Oct lastSun 2:00 0 S @@ -983,21 +991,14 @@ Rule Toronto 1922 1926 - Sep Sun>=15 2:0 Rule Toronto 1924 1927 - May Sun>=1 2:00 1:00 D Rule Toronto 1927 1928 - Sep lastSun 2:00 0 S Rule Toronto 1928 only - Apr lastSun 2:00 1:00 D -Rule Toronto 1929 only - Apr lastSun 0:00 1:00 D -Rule Toronto 1929 only - Sep lastSun 0:00 0 S -# The 1930-to-1937 rules can be expressed more simply as -# Rule Toronto 1930 1937 - Apr lastSat 24:00 1:00 D -# Rule Toronto 1930 1937 - Sep lastSat 24:00 0 S -# The rules below avoid use of 24:00 -# (which pre-1998 versions of zic cannot handle). -Rule Toronto 1930 1931 - Apr lastSun 0:00 1:00 D -Rule Toronto 1932 only - May 1 0:00 1:00 D -Rule Toronto 1933 1937 - Apr lastSun 0:00 1:00 D -Rule Toronto 1930 1932 - Sep lastSun 0:00 0 S -Rule Toronto 1933 only - Oct 1 0:00 0 S -Rule Toronto 1934 1937 - Sep lastSun 0:00 0 S -Rule Toronto 1938 1940 - Apr lastSun 0:00 1:00 D -Rule Toronto 1938 1939 - Sep lastSun 0:00 0 S +Rule Toronto 1929 only - Apr lastSun 2:00 1:00 D +Rule Toronto 1929 only - Sep lastSun 2:00 0 S +Rule Toronto 1930 1931 - Apr lastSun 2:00 1:00 D +Rule Toronto 1930 1932 - Sep lastSun 2:00 0 S +Rule Toronto 1932 only - May 1 2:00 1:00 D +Rule Toronto 1933 1940 - Apr lastSun 2:00 1:00 D +Rule Toronto 1933 only - Oct 1 2:00 0 S +Rule Toronto 1934 1939 - Sep lastSun 2:00 0 S Rule Toronto 1945 1946 - Sep lastSun 2:00 0 S Rule Toronto 1946 only - Apr lastSun 2:00 1:00 D Rule Toronto 1947 1949 - Apr lastSun 0:00 1:00 D @@ -1015,15 +1016,19 @@ Rule Toronto 1957 1973 - Oct lastSun 2:0 # Willett (1914-03) writes (p. 17) "In the Cities of Fort William, and # Port Arthur, Ontario, the principle of the Bill has been in # operation for the past three years, and in the City of Moose Jaw, -# Saskatchewan, for one year." Assume that the Thunder Bay region -# observed DST starting 1910, and Moose Jaw starting 1912, as this -# matches the Toronto Star report about Moose Jaw. For lack of better -# info, assume the Thunder Bay region used Willett's proposal, namely -# third Sunday in April at 02:00 to third Sunday in September at -# 03:00; also assume that they continued until Canada instituted -# uniform DST in 1918. -Rule Thunder 1910 1917 - Apr Sun>=15 2:00s 1:00 D -Rule Thunder 1910 1917 - Sep Sun>=15 2:00s 0 S +# Saskatchewan, for one year." + +# From David Bryan via Tory Tronrud, Director/Curator, +# Thunder Bay Museum (2003-11-12): +# There is some suggestion, however, that, by-law or not, daylight +# savings time was being practiced in Fort William and Port Arthur +# before 1909.... [I]n 1910, the line between the Eastern and Central +# Time Zones was permanently moved about two hundred miles west to +# include the Thunder Bay area.... When Canada adopted daylight +# savings time in 1916, Fort William and Port Arthur, having done so +# already, did not change their clocks.... During the Second World +# War,... [t]he cities agreed to implement DST during the summer +# months for the remainder of the war years. # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Montreal -4:54:16 - LMT 1884 @@ -1040,9 +1045,8 @@ Zone America/Toronto -5:17:32 - LMT 1895 -5:00 Toronto E%sT 1974 -5:00 Canada E%sT Zone America/Thunder_Bay -5:57:00 - LMT 1895 - -5:00 Thunder E%sT 1918 - -5:00 Canada E%sT 1940 Sep 29 - -5:00 1:00 EDT 1942 Feb 9 2:00s + -6:00 - CST 1910 + -5:00 - EST 1942 -5:00 Canada E%sT 1970 -5:00 Mont E%sT 1973 -5:00 - EST 1974 diff -pru tz-tmp/southamerica tz/southamerica --- tz-tmp/southamerica 2003-10-06 06:34:33.000000000 -0700 +++ tz/southamerica 2003-12-10 00:08:36.000000000 -0800 @@ -390,9 +390,9 @@ Rule Brazil 1993 only - Jan 31 0:00 0 - # Decree <a href="http://pcdsh01.on.br/HV942.htm">942</a> (1993-09-28) # adopted by same states, plus AM. # Decree <a href="http://pcdsh01.on.br/HV1252.htm">1,252</a> (1994-09-22) -# adopted by same states, minus AM. +# adopted by same states, minus AM and MT. # Decree <a href="http://pcdsh01.on.br/HV1636.htm">1,636</a> (1995-09-14) -# adopted by same states, plus TO. +# adopted by same states, plus MT and TO. # Decree <a href="http://pcdsh01.on.br/HV1674.htm">1,674</a> (1995-10-13) # adds AL, SE. Rule Brazil 1993 1995 - Oct Sun>=11 0:00 1:00 S @@ -455,11 +455,19 @@ Rule Brazil 2003 max - Oct Sun>=15 0:00 # Zone NAME GMTOFF RULES FORMAT [UNTIL] # -# Atlantic islands: Fernando de Noronha, Trindade, Martin Vaz, -# Atol das Rocas, and Penedos de Sao Pedro e Sao Paulo +# Fernando de Noronha (administratively part of PE) Zone America/Noronha -2:09:40 - LMT 1914 -2:00 Brazil FN%sT 1990 Sep 17 + -2:00 - FNT 1999 Sep 30 + -2:00 Brazil FN%sT 2000 Oct 15 + -2:00 - FNT 2001 Sep 13 + -2:00 Brazil FN%sT 2002 Oct 1 -2:00 - FNT +# Other Atlantic islands have no permanent settlement. +# These include Trindade and Martin Vaz (administratively part of ES), +# Atol das Rocas (RN), and Penedos de Sao Pedro e Sao Paulo (PE). +# Fernando de Noronha was a separate territory from 1942-09-02 to 1989-01-01; +# it also included the Penedos. # # Amapa (AP), east Para (PA) # East Para includes Belem, Maraba, Serra Norte, and Sao Felix do Xingu. @@ -528,6 +536,8 @@ Zone America/Campo_Grande -3:38:28 - LMT # # Mato Grosso (MT) Zone America/Cuiaba -3:44:20 - LMT 1914 + -4:00 Brazil AM%sT 1994 Sep 22 + -4:00 - AMT 1995 Sep 14 -4:00 Brazil AM%sT 2003 Sep 24 -4:00 - AMT # @@ -811,13 +821,22 @@ Zone America/Asuncion -3:50:40 - LMT 189 -4:00 Para PY%sT # Peru +# +# <a href="news:xrGmb.39935$gA1.13896113@news4.srv.hcvlny.cv.net"> +# From Evelyn C. Leeper via Mark Brader (2003-10-26):</a> +# When we were in Peru in 1985-1986, they apparently switched over +# sometime between December 29 and January 3 while we were on the Amazon. +# +# From Paul Eggert (2003-11-02): +# Shanks doesn't have this transition. Assume 1986 was like 1987. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Peru 1938 only - Jan 1 0:00 1:00 S Rule Peru 1938 only - Apr 1 0:00 0 - Rule Peru 1938 1939 - Sep lastSun 0:00 1:00 S Rule Peru 1939 1940 - Mar Sun>=24 0:00 0 - -Rule Peru 1987 only - Jan 1 0:00 1:00 S -Rule Peru 1987 only - Apr 1 0:00 0 - +Rule Peru 1986 1987 - Jan 1 0:00 1:00 S +Rule Peru 1986 1987 - Apr 1 0:00 0 - Rule Peru 1990 only - Jan 1 0:00 1:00 S Rule Peru 1990 only - Apr 1 0:00 0 - # IATA is ambiguous for 1993/1995; go with Shanks. diff -pru tz-tmp/tz-link.htm tz/tz-link.htm --- tz-tmp/tz-link.htm 2003-10-06 06:32:21.000000000 -0700 +++ tz/tz-link.htm 2003-12-10 00:08:36.000000000 -0800 @@ -88,9 +88,11 @@ The data are by no means authoritative. send changes to the <a href="mailto:tz@elsie.nci.nih.gov">time zone mailing list</a>. You can also <a href="mailto:tz-request@elsie.nci.nih.gov">subscribe</a> to the -mailing list, or retrieve the <a +mailing list, retrieve the <a href="ftp://elsie.nci.nih.gov/pub/tzarchive.gz">archive of old -messages</a> (in gzip compressed format).</p> +messages</a> (in gzip compressed format), or retrieve <a +href="ftp://munnari.oz.au/pub/oldtz/">archived older versions of code +and data</a>.</p> <p> The Web has several other sources for time zone and daylight saving time data. Here are some recent links that may be of interest. @@ -124,7 +126,7 @@ href="http://www.ietf.org/html.charters/ Calendaring and Scheduling Working Group (calsch)</a> covers time zone data; see its VTIMEZONE calendar component.</li> <li>The <a -href="http://lists.w3.org/Archives/Public/www-rdf-calendar/"><samp>www-rdf-calendar</samp></a> +href="http://lists.w3.org/Archives/Public/www-rdf-calendar/">www-rdf-calendar</a> list discusses <a href="http://www.w3.org/RDF/">RDF</a>-based calendar and group scheduling systems, and has a <a href="http://www.w3.org/2002/12/cal/#tzd">workspace on time zone @@ -138,11 +140,23 @@ definition that corresponded to iCalenda </ul> <h2>Other <code>tz</code> compilers</h2> <ul> -<li><a href="http://primates.ximian.com/~damon/icalendar/">Olson -> -VTIMEZONE Converter</a> describes a program Vzic that -compiles <code>tz</code> source into iCalendar format. Vzic is freely +<li><a href="http://www.dachaplin.dsl.pipex.com/vzic">Vzic iCalendar +Timezone Converter</a> describes a program Vzic that compiles +<code>tz</code> source into iCalendar-compatible VTIMEZONE files. +Vzic is freely available under the <a href="http://www.gnu.org/copyleft/gpl.html">GNU General Public License (GPL)</a>.</li> +<li><a +href="http://search.cpan.org/dist/DateTime-TimeZone/">DateTime::TimeZone</a> +contains a script <code>parse_olson</code> that compiles +<code>tz</code> source into <a href="http://www.perl.org/">Perl</a> +modules. It is part of the Perl <a +href="http://datetime.perl.org/">DateTime Project</a>, which is freely +available under both the GPL and the Perl <a +href="http://www.perl.com/language/misc/Artistic.html">Artistic +License</a>. DateTime::TimeZone also contains a script +<code>tests_from_zdump</code> that generates test cases for each clock +transition in the <code>tz</code> database.</li> </ul> <h2>Other <code>tz</code> binary file readers</h2> <ul> @@ -220,6 +234,9 @@ but the maps are more up to date.</li> </ul> <h2>Time zone boundaries</h2> <ul> +<li><a href="http://home-4.tiscali.nl/~t876506/Multizones.html">Time +zone boundaries for multizone countries</a> summarizes legal +boundaries between time zones within countries.</li> <li>Manifold.net's <a href="http://www.manifold.net/download/freemaps.html">Free Maps and GIS Data</a> includes a Manifold-format map of world time zone @@ -248,7 +265,7 @@ The time zone map is out of date, howeve <li><a href="http://www.phys.uu.nl/~vgent/idl/idl.htm">A History of the International Date Line</a> tells the story of the most important time zone boundary.</li> -<li><a href="http://www.mindspring.com/~gwil/tconcept.html">Basic Time +<li><a href="http://www.statoids.com/tconcept.html">Basic Time Zone Concepts</a> discusses terminological issues behind time zones.</li> </ul> <h2>National histories of legal time</h2> @@ -294,6 +311,8 @@ hreflang="he">announcements (in Hebrew)< Congress has published a <a href="http://www.cddhcu.gob.mx/bibliot/publica/inveyana/polisoc/horver/" hreflang="es">history of Mexican local time (in Spanish)</a>.</dd> +<dt>Malaysia</dt> +<dd>See Singapore below.</dd> <dt>Netherlands</dt> <dd><a href="http://www.phys.uu.nl/~vgent/wettijd/wettijd.htm" hreflang="nl">Legal time in the Netherlands (in Dutch)</a> @@ -304,6 +323,11 @@ href="http://www.dia.govt.nz/diawebsite. daylight saving</a>. The privately-maintained <a href="http://www.astrologyhouse.co.nz/timechanges.htm">Time Changes in New Zealand</a> has more details.</dd> +<dt>Singapore</dt> +<dd><a +href="http://www.math.nus.edu.sg/aslaksen/teaching/timezone.html">Why +is Singapore in the "Wrong" Time Zone?</a> details the +history of legal time in Singapore and Malaysia.</dd> <dt>United Kingdom</dt> <dd><a href="http://student.cusu.cam.ac.uk/~jsm28/british-time/">History of diff -pru tz-tmp/zic.8 tz/zic.8 --- tz-tmp/zic.8 2003-12-09 21:47:02.455313000 -0800 +++ tz/zic.8 2003-12-10 00:08:36.000000000 -0800 @@ -82,7 +82,8 @@ of years representable by .IR time (2) values. Also complain if a time of 24:00 -(which cannot be handled by pre-1998 versions of zic) +(which cannot be handled by pre-1998 versions of +.IR zic ) appears in the input. .TP .B \-s
With respect to the proposed changes:
@@ -1952,28 +1952,26 @@ Zone Asia/Irkutsk 6:57:20 - LMT 1880 7:00 Russia IRK%sT 1992 Jan 19 2:00s 8:00 Russia IRK%sT # -# From Oscar van Vlijmen (2001-08-25): [This region consists of] +# From Oscar van Vlijmen (2003-10-18): [This region consists of] # Aginskij Buryatskij avtonomnyj okrug, Amurskaya oblast', # [parts of] Respublika Sakha (Yakutiya), Chitinskaya oblast'. -# -# From Alan Pritchard (2001-08-24): [The Sakha districts are:]
etcetera. I can't DO a diff at the moment, so I've got to look at the code, but if I'm not mistaken, then all references to Alan Pritchard will be deleted? It was Alan who was so kind as to find & report all Sakha districts; I've merely produced a more consistent spelling. I would like to suggest: keep somehow some credits to Alan! Oscar van Vlijmen 2003-12-10
I would think at some point that we would have to give up on maintaining compatibility with these older versions of zic. after all it has been several years. how many people do not have a compiler to rebuild zic? Paul Eggert wrote: . . .
# The rules below avoid use of 24:00 # (which pre-1998 versions of zic cannot handle).
Date: Wed, 10 Dec 2003 00:37:57 -0800 From: Paul Eggert <eggert@twinsun.com> Message-ID: <7wfzftqd96.fsf@sic.twinsun.com> | * Add reference to the munnari archive for old tz data. Interesting that anyone found that, I don't think I'd ever mentioned it (but my memory is also growing shorted by the minute...) Not a problem of course - except that the archive is incomplete. Occasionally I simply screwed up, and deleted a file instead of saving it, other times, versions rolled around so quickly I missed the opportunity to ever fetch one (that happened fairly recently). If anyone happens to have any of the missing ones, particularly anything from the 1993 vintage (before especially), I'd like to acquire copies. kre
participants (5)
-
Martin Smoot
-
Olson, Arthur David (NIH/NCI)
-
Oscar van Vlijmen
-
Paul Eggert
-
Robert Elz