diff --git a/lib/modules/Calendar.pmod/TZnames.pmod b/lib/modules/Calendar.pmod/TZnames.pmod
index e9c17683ed84407a6304dcf1a8b57ee036c4219e..fa7117a02fae45c3ed7581d4b401c34ab2e3b450 100644
--- a/lib/modules/Calendar.pmod/TZnames.pmod
+++ b/lib/modules/Calendar.pmod/TZnames.pmod
@@ -125,10 +125,10 @@ mapping zones =
                   "Enderbury", "Kiritimati", "Saipan", "Majuro", "Kwajalein",
                   "Chuuk", "Pohnpei", "Kosrae", "Nauru", "Noumea", "Auckland",
                   "Chatham", "Rarotonga", "Niue", "Norfolk", "Palau",
-                  "Port_Moresby", "Pitcairn", "Pago_Pago", "Apia",
-                  "Guadalcanal", "Fakaofo", "Tongatapu", "Funafuti", "Midway",
-                  "Wake", "Efate", "Wallis", "Johnston", "Honolulu", "Easter",
-                  "Galapagos"}),
+                  "Port_Moresby", "Bougainville", "Pitcairn", "Pago_Pago",
+                  "Apia", "Guadalcanal", "Fakaofo", "Tongatapu", "Funafuti",
+                  "Midway", "Wake", "Efate", "Wallis", "Johnston", "Honolulu",
+                  "Easter", "Galapagos"}),
    "Antarctica":({"Casey", "Davis", "Mawson", "DumontDUrville", "Syowa",
                   "Troll", "Vostok", "Rothera", "Palmer", "Macquarie",
                   "McMurdo"}),
@@ -161,22 +161,22 @@ mapping zones =
                   "Maseru", "Mbabane", "Niamey", "Nouakchott", "Ouagadougou",
                   "Porto-Novo", "Sao_Tome", "Timbuktu", "Ceuta"}),
    "Asia":      ({"Kabul", "Yerevan", "Baku", "Bahrain", "Dhaka", "Thimphu",
-                  "Brunei", "Rangoon", "Phnom_Penh", "Shanghai", "Urumqi",
-                  "Hong_Kong", "Taipei", "Macau", "Nicosia", "Tbilisi",
-                  "Dili", "Kolkata", "Jakarta", "Pontianak", "Makassar",
-                  "Jayapura", "Tehran", "Baghdad", "Jerusalem", "Tokyo",
-                  "Amman", "Almaty", "Qyzylorda", "Aqtobe", "Aqtau", "Oral",
-                  "Bishkek", "Seoul", "Pyongyang", "Kuwait", "Vientiane",
-                  "Beirut", "Kuala_Lumpur", "Kuching", "Hovd", "Ulaanbaatar",
-                  "Choibalsan", "Kathmandu", "Muscat", "Karachi", "Gaza",
-                  "Hebron", "Manila", "Qatar", "Riyadh", "Singapore",
-                  "Colombo", "Damascus", "Dushanbe", "Bangkok", "Ashgabat",
-                  "Dubai", "Samarkand", "Tashkent", "Ho_Chi_Minh", "Aden",
-                  "Chongqing", "Harbin", "Kashgar", "Tel_Aviv",
-                  "Yekaterinburg", "Omsk", "Novosibirsk", "Novokuznetsk",
-                  "Krasnoyarsk", "Irkutsk", "Chita", "Yakutsk", "Vladivostok",
-                  "Khandyga", "Sakhalin", "Magadan", "Srednekolymsk",
-                  "Ust-Nera", "Kamchatka", "Anadyr"}),
+                  "Brunei", "Rangoon", "Shanghai", "Urumqi", "Hong_Kong",
+                  "Taipei", "Macau", "Nicosia", "Tbilisi", "Dili", "Kolkata",
+                  "Jakarta", "Pontianak", "Makassar", "Jayapura", "Tehran",
+                  "Baghdad", "Jerusalem", "Tokyo", "Amman", "Almaty",
+                  "Qyzylorda", "Aqtobe", "Aqtau", "Oral", "Bishkek", "Seoul",
+                  "Pyongyang", "Kuwait", "Beirut", "Kuala_Lumpur", "Kuching",
+                  "Hovd", "Ulaanbaatar", "Choibalsan", "Kathmandu", "Muscat",
+                  "Karachi", "Gaza", "Hebron", "Manila", "Qatar", "Riyadh",
+                  "Singapore", "Colombo", "Damascus", "Dushanbe", "Bangkok",
+                  "Ashgabat", "Dubai", "Samarkand", "Tashkent", "Ho_Chi_Minh",
+                  "Aden", "Chongqing", "Hanoi", "Harbin", "Kashgar",
+                  "Phnom_Penh", "Tel_Aviv", "Vientiane", "Yekaterinburg",
+                  "Omsk", "Novosibirsk", "Novokuznetsk", "Krasnoyarsk",
+                  "Irkutsk", "Chita", "Yakutsk", "Vladivostok", "Khandyga",
+                  "Sakhalin", "Magadan", "Srednekolymsk", "Ust-Nera",
+                  "Kamchatka", "Anadyr"}),
    "Australia": ({"Darwin", "Perth", "Eucla", "Brisbane", "Lindeman",
                   "Adelaide", "Hobart", "Currie", "Melbourne", "Sydney",
                   "Broken_Hill", "Lord_Howe"}),
@@ -329,9 +329,9 @@ mapping abbr2zones =
        "America/Fortaleza", "America/Maceio", "America/Recife",
        "America/Santarem", "America/Sao_Paulo"}),
    "BST": ({"Europe/Belfast", "Europe/Guernsey", "Europe/Isle_of_Man",
-       "Europe/Jersey", "Europe/London", "Pacific/Midway",
-       "Pacific/Pago_Pago", "America/Adak", "America/Nome", "Europe/Dublin",
-       "Europe/Gibraltar"}),
+       "Europe/Jersey", "Europe/London", "Pacific/Bougainville",
+       "Pacific/Midway", "Pacific/Pago_Pago", "America/Adak", "America/Nome",
+       "Europe/Dublin", "Europe/Gibraltar"}),
    "BTT": ({"Asia/Thimphu"}),
    "BURT": ({"Asia/Dhaka", "Asia/Kolkata", "Asia/Rangoon"}),
    "BWT": ({"America/Adak", "America/Nome"}),
@@ -552,7 +552,7 @@ mapping abbr2zones =
        "America/Toronto", "EST5EDT", "America/Cancun", "America/Grand_Turk",
        "America/Indiana/Tell_City", "America/Jamaica",
        "America/Santo_Domingo"}),
-   "FET": ({"Europe/Minsk", "Europe/Kaliningrad"}),
+   "FET": ({"Europe/Kaliningrad", "Europe/Minsk"}),
    "FFMT": ({"America/Martinique"}),
    "FJST": ({"Pacific/Fiji"}),
    "FJT": ({"Pacific/Fiji"}),
@@ -622,10 +622,12 @@ mapping abbr2zones =
    "HOVST": ({"Asia/Hovd"}),
    "HOVT": ({"Asia/Hovd"}),
    "HST": ({"HST", "Pacific/Honolulu", "Pacific/Johnston"}),
-   "ICT": ({"Asia/Bangkok", "Asia/Ho_Chi_Minh", "Asia/Phnom_Penh",
-       "Asia/Vientiane"}),
+   "ICT": ({"Asia/Bangkok", "Asia/Hanoi", "Asia/Ho_Chi_Minh",
+       "Asia/Phnom_Penh", "Asia/Vientiane"}),
    "IDDT": ({"Asia/Jerusalem", "Asia/Tel_Aviv", "Asia/Gaza", "Asia/Hebron"}),
-   "IDT": ({"Asia/Jerusalem", "Asia/Tel_Aviv", "Asia/Gaza", "Asia/Hebron"}),
+   "IDT": ({"Asia/Jerusalem", "Asia/Tel_Aviv", "Asia/Ho_Chi_Minh",
+       "Asia/Gaza", "Asia/Hebron", "Asia/Vientiane", "Asia/Hanoi",
+       "Asia/Phnom_Penh"}),
    "IHST": ({"Asia/Colombo"}),
    "IMT": ({"Asia/Irkutsk", "Europe/Istanbul", "Europe/Sofia"}),
    "IOT": ({"Indian/Chagos"}),
@@ -645,8 +647,9 @@ mapping abbr2zones =
    "JST": ({"Asia/Tokyo", "Asia/Dili", "Asia/Jakarta", "Asia/Makassar",
        "Asia/Pontianak", "Asia/Taipei", "Asia/Hong_Kong",
        "Asia/Kuala_Lumpur", "Asia/Kuching", "Asia/Singapore", "Asia/Seoul",
-       "Asia/Sakhalin", "Asia/Pyongyang", "Asia/Rangoon", "Asia/Manila",
-       "Pacific/Nauru"}),
+       "Asia/Hanoi", "Asia/Ho_Chi_Minh", "Asia/Phnom_Penh", "Asia/Vientiane",
+       "Asia/Sakhalin", "Asia/Pyongyang", "Pacific/Bougainville",
+       "Asia/Rangoon", "Asia/Manila", "Pacific/Nauru"}),
    "JWST": ({"Asia/Taipei"}),
    "KART": ({"Asia/Karachi"}),
    "KAST": ({"Asia/Kashgar"}),
@@ -718,7 +721,7 @@ mapping abbr2zones =
        "America/Lima", "Asia/Pontianak", "Atlantic/Faroe",
        "Atlantic/Cape_Verde", "Indian/Mauritius", "Asia/Karachi",
        "Indian/Chagos", "America/Edmonton", "Asia/Vientiane",
-       "Asia/Phnom_Penh", "Asia/Ho_Chi_Minh", "Indian/Mahe",
+       "Asia/Phnom_Penh", "Asia/Hanoi", "Asia/Ho_Chi_Minh", "Indian/Mahe",
        "America/Swift_Current", "America/Regina", "Asia/Sakhalin",
        "Asia/Hovd", "Asia/Ulaanbaatar", "Asia/Choibalsan", "America/Detroit",
        "Asia/Hong_Kong", "Europe/Luxembourg", "Africa/Maseru",
@@ -791,10 +794,11 @@ mapping abbr2zones =
        "Asia/Jerusalem", "Asia/Beirut", "Europe/Moscow", "Asia/Tbilisi",
        "Indian/Maldives", "Asia/Colombo", "Asia/Kolkata", "Asia/Rangoon",
        "Asia/Bangkok", "Asia/Irkutsk", "Pacific/Port_Moresby",
-       "Europe/Stockholm", "Europe/Helsinki", "Africa/Addis_Ababa",
-       "Africa/Asmara", "Pacific/Auckland", "Pacific/Chatham",
-       "Asia/Jakarta", "Europe/Rome", "Europe/Zurich", "Europe/Prague",
-       "Europe/London", "Atlantic/Reykjavik", "Europe/Amsterdam"}),
+       "Pacific/Bougainville", "Europe/Stockholm", "Europe/Helsinki",
+       "Africa/Addis_Ababa", "Africa/Asmara", "Pacific/Auckland",
+       "Pacific/Chatham", "Asia/Jakarta", "Europe/Rome", "Europe/Zurich",
+       "Europe/Prague", "Europe/London", "Atlantic/Reykjavik",
+       "Europe/Amsterdam"}),
    "LONT": ({"Asia/Chongqing"}),
    "LRT": ({"Africa/Monrovia"}),
    "LST": ({"Europe/Riga"}),
@@ -836,8 +840,8 @@ mapping abbr2zones =
        "Europe/Kaliningrad", "Europe/Samara", "Europe/Vilnius",
        "Europe/Tallinn", "Europe/Chisinau", "Europe/Kiev", "Europe/Minsk",
        "Europe/Riga", "Europe/Uzhgorod", "Europe/Zaporozhye"}),
-   "MSK": ({"Europe/Moscow", "Europe/Simferopol", "Europe/Tiraspol",
-       "Europe/Volgograd", "Europe/Kaliningrad", "Europe/Minsk",
+   "MSK": ({"Europe/Minsk", "Europe/Moscow", "Europe/Simferopol",
+       "Europe/Tiraspol", "Europe/Volgograd", "Europe/Kaliningrad",
        "Europe/Samara", "Europe/Vilnius", "Europe/Uzhgorod",
        "Europe/Chisinau", "Europe/Tallinn", "Europe/Kiev", "Europe/Riga",
        "Europe/Zaporozhye"}),
@@ -900,14 +904,16 @@ mapping abbr2zones =
    "PET": ({"America/Lima"}),
    "PETST": ({"Asia/Kamchatka"}),
    "PETT": ({"Asia/Kamchatka"}),
-   "PGT": ({"Pacific/Port_Moresby"}),
+   "PGT": ({"Pacific/Port_Moresby", "Pacific/Bougainville"}),
    "PHOT": ({"Pacific/Enderbury"}),
    "PHST": ({"Asia/Manila"}),
    "PHT": ({"Asia/Manila"}),
    "PKST": ({"Asia/Karachi"}),
    "PKT": ({"Asia/Karachi"}),
+   "PLMT": ({"Asia/Hanoi", "Asia/Ho_Chi_Minh", "Asia/Phnom_Penh",
+       "Asia/Vientiane"}),
    "PMDT": ({"America/Miquelon"}),
-   "PMMT": ({"Pacific/Port_Moresby"}),
+   "PMMT": ({"Pacific/Bougainville", "Pacific/Port_Moresby"}),
    "PMPT": ({"America/Miquelon"}),
    "PMST": ({"America/Miquelon"}),
    "PMT": ({"Antarctica/DumontDUrville", "America/Paramaribo",
@@ -960,7 +966,6 @@ mapping abbr2zones =
    "SJMT": ({"America/Costa_Rica"}),
    "SLST": ({"Africa/Freetown"}),
    "SMT": ({"America/Santiago", "Europe/Simferopol", "Atlantic/Stanley",
-       "Asia/Ho_Chi_Minh", "Asia/Phnom_Penh", "Asia/Vientiane",
        "Asia/Kuala_Lumpur", "Asia/Singapore"}),
    "SRET": ({"Asia/Srednekolymsk"}),
    "SRT": ({"America/Paramaribo"}),
diff --git a/lib/modules/Calendar.pmod/tzdata/Makefile b/lib/modules/Calendar.pmod/tzdata/Makefile
index 5037336a514e1dbb1782ade07342d223128ce7fd..56dc286401307c7231cec88401ad12e6350d019f 100644
--- a/lib/modules/Calendar.pmod/tzdata/Makefile
+++ b/lib/modules/Calendar.pmod/tzdata/Makefile
@@ -5,7 +5,7 @@
 PACKAGE=	tzcode
 
 # Version numbers of the code and data distributions.
-VERSION=	2014h
+VERSION=	2014i
 
 # Email address for bug reports.
 BUGEMAIL=	tz@iana.org
@@ -129,6 +129,7 @@ LDLIBS=
 #  -DNO_RUN_TIME_WARNINGS_ABOUT_YEAR_2000_PROBLEMS_THANK_YOU=1
 #	if you do not want run time warnings about formats that may cause
 #	year 2000 grief
+#  -Dssize_t=long on ancient hosts that lack ssize_t
 #  -DTHREAD_SAFE=1 to make localtime.c thread-safe, as POSIX requires;
 #	not needed by the main-program tz code, which is single-threaded.
 #	Append other compiler flags as needed, e.g., -pthread on GNU/Linux.
diff --git a/lib/modules/Calendar.pmod/tzdata/NEWS b/lib/modules/Calendar.pmod/tzdata/NEWS
index 5e33102e2ae32e9f284fc8835e24bfe6f1fb0f5a..4e119ecdf29b544588f05807c441a4eebfcd6a58 100644
--- a/lib/modules/Calendar.pmod/tzdata/NEWS
+++ b/lib/modules/Calendar.pmod/tzdata/NEWS
@@ -1,5 +1,71 @@
 News for the tz database
 
+Release 2014i - 2014-10-21 22:04:57 -0700
+
+  Changes affecting future time stamps
+
+    Pacific/Fiji will observe DST from 2014-11-02 02:00 to 2015-01-18 03:00.
+    (Thanks to Ken Rylander for the heads-up.)  Guess that future
+    years will use a similar pattern.
+
+    A new Zone Pacific/Bougainville, for the part of Papua New Guinea
+    that plans to switch from UTC+10 to UTC+11 on 2014-12-28 at 02:00.
+    (Thanks to Kiley Walbom for the heads-up.)
+
+  Changes affecting time zone abbreviations
+
+    Since Belarus is not changing its clocks even though Moscow is,
+    the time zone abbreviation in Europe/Minsk is changing from FET
+    to its more-traditional value MSK on 2014-10-26 at 01:00.
+    (Thanks to Alexander Bokovoy for the heads-up about Belarus.)
+
+    The new abbreviation IDT stands for the pre-1976 use of UT+8 in
+    Indochina, to distinguish it better from ICT (UT+7).
+
+  Changes affecting past time stamps
+
+    Many time stamps have been corrected for Asia/Ho_Chi_Minh before 1976
+    (thanks to Trần Ngọc Quân for an indirect pointer to Trần Tiến Bình's
+    authoritative book).  Asia/Ho_Chi_Minh has been added to
+    zone1970.tab, to give tzselect users in Vietnam two choices,
+    since north and south Vietnam disagreed after our 1970 cutoff.
+
+    Asia/Phnom_Penh and Asia/Vientiane have been turned into links, as
+    they differed from existing zones only for older time stamps.  As
+    usual, these changes affect pre-1970 time stamps only.  Their old
+    contents have been moved to the 'backzone' file.
+
+  Changes affecting code
+
+    The time-related library functions now set errno on failure, and
+    some crashes in the new tzalloc-related library functions have
+    been fixed.  (Thanks to Christos Zoulas for reporting most of
+    these problems and for suggesting fixes.)
+
+    If USG_COMPAT is defined and the requested time stamp is standard time,
+    the tz library's localtime and mktime functions now set the extern
+    variable timezone to a value appropriate for that time stamp; and
+    similarly for ALTZONE, daylight saving time, and the altzone variable.
+    This change is a companion to the tzname change in 2014h, and is
+    designed to make timezone and altzone more compatible with tzname.
+
+    The tz library's functions now set errno to EOVERFLOW if they fail
+    because the result cannot be represented.  ctime and ctime_r now
+    return NULL and set errno when a time stamp is out of range, rather
+    than having undefined behavior.
+
+    Some bugs associated with the new 2014g functions have been fixed.
+    This includes a bug that largely incapacitated the new functions
+    time2posix_z and posix2time_z.  (Thanks to Christos Zoulas.)
+    It also includes some uses of uninitialized variables after tzalloc.
+    The new code uses the standard type 'ssize_t', which the Makefile
+    now gives porting advice about.
+
+  Changes affecting commentary
+
+    Updated URLs for NRC Canada (thanks to Matt Johnson and Brian Inglis).
+
+
 Release 2014h - 2014-09-25 18:59:03 -0700
 
   Changes affecting past time stamps
diff --git a/lib/modules/Calendar.pmod/tzdata/asia b/lib/modules/Calendar.pmod/tzdata/asia
index 0be896b1cf9944949554b300b2fb6a6b1f1fcb55..37b2c88e0ed169d827379eda52009adba2acada0 100644
--- a/lib/modules/Calendar.pmod/tzdata/asia
+++ b/lib/modules/Calendar.pmod/tzdata/asia
@@ -47,10 +47,11 @@
 #	3:30 IRST IRDT	Iran
 #	4:00 GST	Gulf*
 #	5:30 IST	India
-#	7:00 ICT	Indochina*
+#	7:00 ICT	Indochina, most times and locations*
 #	7:00 WIB	west Indonesia (Waktu Indonesia Barat)
 #	8:00 WITA	central Indonesia (Waktu Indonesia Tengah)
 #	8:00 CST	China
+#	8:00 IDT	Indochina, 1943-45, 1947-55, 1960-75 (some locations)*
 #	8:00 JWST	Western Standard Time (Japan, 1896/1937)*
 #	9:00 JCST	Central Standard Time (Japan, 1896/1937)
 #	9:00 WIT	east Indonesia (Waktu Indonesia Timur)
@@ -271,12 +272,8 @@ Zone	Asia/Rangoon	6:24:40 -	LMT	1880        # or Yangon
 			6:30	-	MMT	# Myanmar Time
 
 # Cambodia
-# Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
-Zone	Asia/Phnom_Penh	6:59:40 -	LMT	1906 Jun  9
-			7:06:20	-	SMT	1911 Mar 11  0:01 # Saigon MT?
-			7:00	-	ICT	1912 May
-			8:00	-	ICT	1931 May
-			7:00	-	ICT
+# See Asia/Bangkok.
+
 
 # China
 
@@ -1714,12 +1711,8 @@ Zone	Asia/Kuwait	3:11:56 -	LMT	1950
 			3:00	-	AST
 
 # Laos
-# Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
-Zone	Asia/Vientiane	6:50:24 -	LMT	1906 Jun  9       # or Viangchan
-			7:06:20	-	SMT	1911 Mar 11  0:01 # Saigon MT?
-			7:00	-	ICT	1912 May
-			8:00	-	ICT	1931 May
-			7:00	-	ICT
+# See Asia/Bangkok.
+
 
 # Lebanon
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
@@ -2732,6 +2725,8 @@ Zone	Asia/Dushanbe	4:35:12 -	LMT	1924 May  2
 Zone	Asia/Bangkok	6:42:04	-	LMT	1880
 			6:42:04	-	BMT	1920 Apr # Bangkok Mean Time
 			7:00	-	ICT
+Link Asia/Bangkok Asia/Phnom_Penh	# Cambodia
+Link Asia/Bangkok Asia/Vientiane	# Laos
 
 # Turkmenistan
 # From Shanks & Pottenger.
@@ -2769,22 +2764,65 @@ Zone	Asia/Tashkent	4:37:11 -	LMT	1924 May  2
 
 # Vietnam
 
-# From Paul Eggert (2013-02-21):
+# From Paul Eggert (2014-10-04):
 # Milne gives 7:16:56 for the meridian of Saigon in 1899, as being
 # used in Lower Laos, Cambodia, and Annam.  But this is quite a ways
 # from Saigon's location.  For now, ignore this and stick with Shanks
-# and Pottenger.
+# and Pottenger for LMT before 1906.
 
 # From Arthur David Olson (2008-03-18):
 # The English-language name of Vietnam's most populous city is "Ho Chi Minh
 # City"; use Ho_Chi_Minh below to avoid a name of more than 14 characters.
 
-# From Shanks & Pottenger:
+# From Paul Eggert (2014-10-21) after a heads-up from Trần Ngọc Quân:
+# Trần Tiến Bình's authoritative book "Lịch Việt Nam: thế kỷ XX-XXI (1901-2100)"
+# (Nhà xuất bản Văn Hoá - Thông Tin, Hanoi, 2005), pp 49-50,
+# is quoted verbatim in:
+# http://www.thoigian.com.vn/?mPage=P80D01
+# is translated by Brian Inglis in:
+# http://mm.icann.org/pipermail/tz/2014-October/021654.html
+# and is the basis for the information below.
+#
+# The 1906 transition was effective July 1 and standardized Indochina to
+# Phù Liễn Observatory, legally 104 deg. 17'17" east of Paris.
+# It's unclear whether this meant legal Paris Mean Time (00:09:21) or
+# the Paris Meridian (2 deg. 20'14.03" E); the former yields 07:06:30.1333...
+# and the latter 07:06:29.333... so either way it rounds to 07:06:30,
+# which is used below even though the modern-day Phù Liễn Observatory
+# is closer to 07:06:31.  Abbreviate Phù Liễn Mean Time as PLMT.
+#
+# The following transitions occurred in Indochina in general (before 1954)
+# and in South Vietnam in particular (after 1954):
+# To 07:00 on 1911-05-01.
+# To 08:00 on 1942-12-31 at 23:00.
+# To 09:00 in 1945-03-14 at 23:00.
+# To 07:00 on 1945-09-02 in Vietnam.
+# To 08:00 on 1947-04-01 in French-controlled Indochina.
+# To 07:00 on 1955-07-01 in South Vietnam.
+# To 08:00 on 1959-12-31 at 23:00 in South Vietnam.
+# To 07:00 on 1975-06-13 in South Vietnam.
+#
+# Trần cites the following sources; it's unclear which supplied the info above.
+#
+# Hoàng Xuân Hãn: "Lịch và lịch Việt Nam". Tập san Khoa học Xã hội,
+# No. 9, Paris, February 1982.
+#
+# Lê Thành Lân: "Lịch và niên biểu lịch sử hai mươi thế kỷ (0001-2010)",
+# NXB Thống kê, Hanoi, 2000.
+#
+# Lê Thành Lân: "Lịch hai thế kỷ (1802-2010) và các lịch vĩnh cửu",
+# NXB Thuận Hoá, Huế, 1995.
+
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
-Zone	Asia/Ho_Chi_Minh	7:06:40 -	LMT	1906 Jun  9
-			7:06:20	-	SMT	1911 Mar 11  0:01 # Saigon MT?
-			7:00	-	ICT	1912 May
-			8:00	-	ICT	1931 May
+Zone Asia/Ho_Chi_Minh	7:06:40 -	LMT	1906 Jul  1
+			7:06:30	-	PLMT	1911 May  1
+			7:00	-	ICT	1942 Dec 31 23:00
+			8:00	-	IDT	1945 Mar 14 23:00
+			9:00	-	JST	1945 Sep  2
+			7:00	-	ICT	1947 Apr  1
+			8:00	-	IDT	1955 Jul  1
+			7:00	-	ICT	1959 Dec 31 23:00
+			8:00	-	IDT	1975 Jun 13
 			7:00	-	ICT
 
 # Yemen
diff --git a/lib/modules/Calendar.pmod/tzdata/australasia b/lib/modules/Calendar.pmod/tzdata/australasia
index 5ea1f186b09dbcab14bfc8af8d23a777eaac3335..8efe56fd2a248dc9c1f9cf52111de03d3bc56703 100644
--- a/lib/modules/Calendar.pmod/tzdata/australasia
+++ b/lib/modules/Calendar.pmod/tzdata/australasia
@@ -331,20 +331,27 @@ Zone	Indian/Cocos	6:27:40	-	LMT	1900
 # Fiji will end DST on 2014-01-19 02:00:
 # http://www.fiji.gov.fj/Media-Center/Press-Releases/DAYLIGHT-SAVINGS-TO-END-THIS-MONTH-%281%29.aspx
 
-# From Paul Eggert (2014-01-10):
-# For now, guess that Fiji springs forward the Sunday before the fourth
-# Monday in October, and springs back the penultimate Sunday in January.
-# This is ad hoc, but matches recent practice.
+# From Ken Rylander (2014-10-20):
+# DST will start Nov. 2 this year.
+# http://www.fiji.gov.fj/Media-Center/Press-Releases/DAYLIGHT-SAVING-STARTS-ON-SUNDAY,-NOVEMBER-2ND.aspx
+
+# From Paul Eggert (2014-10-20):
+# For now, guess DST from 02:00 the first Sunday in November to
+# 03:00 the first Sunday on or after January 18.  Although ad hoc, it
+# matches this year's plan and seems more likely to match future
+# practice than guessing no DST.
 
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Fiji	1998	1999	-	Nov	Sun>=1	2:00	1:00	S
 Rule	Fiji	1999	2000	-	Feb	lastSun	3:00	0	-
 Rule	Fiji	2009	only	-	Nov	29	2:00	1:00	S
 Rule	Fiji	2010	only	-	Mar	lastSun	3:00	0	-
-Rule	Fiji	2010	max	-	Oct	Sun>=21	2:00	1:00	S
+Rule	Fiji	2010	2013	-	Oct	Sun>=21	2:00	1:00	S
 Rule	Fiji	2011	only	-	Mar	Sun>=1	3:00	0	-
 Rule	Fiji	2012	2013	-	Jan	Sun>=18	3:00	0	-
-Rule	Fiji	2014	max	-	Jan	Sun>=18	2:00	0	-
+Rule	Fiji	2014	only	-	Jan	Sun>=18	2:00	0	-
+Rule	Fiji	2014	max	-	Nov	Sun>=1	2:00	1:00	S
+Rule	Fiji	2015	max	-	Jan	Sun>=18	3:00	0	-
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Pacific/Fiji	11:55:44 -	LMT	1915 Oct 26 # Suva
 			12:00	Fiji	FJ%sT	# Fiji Time
@@ -519,6 +526,30 @@ Zone Pacific/Palau	8:57:56 -	LMT	1901 # Koror
 Zone Pacific/Port_Moresby 9:48:40 -	LMT	1880
 			9:48:32	-	PMMT	1895 # Port Moresby Mean Time
 			10:00	-	PGT	# Papua New Guinea Time
+#
+# From Paul Eggert (2014-10-13):
+# Base the Bougainville entry on the Arawa-Kieta region, which appears to have
+# the most people even though it was devastated in the Bougainville Civil War.
+#
+# Although Shanks gives 1942-03-15 / 1943-11-01 for JST, these dates
+# are apparently rough guesswork from the starts of military campaigns.
+# The World War II entries below are instead based on Arawa-Kieta.
+# The Japanese occupied Kieta in July 1942,
+# according to the Pacific War Online Encyclopedia
+# http://pwencycl.kgbudge.com/B/o/Bougainville.htm
+# and seem to have controlled it until their 1945-08-21 surrender.
+#
+# The Autonomous Region of Bougainville plans to switch from UTC+10 to UTC+11
+# on 2014-12-28 at 02:00.  They call UTC+11 "Bougainville Standard Time";
+# abbreviate this as BST.  See:
+# http://www.bougainville24.com/bougainville-issues/bougainville-gets-own-timezone/
+#
+Zone Pacific/Bougainville 10:22:16 -	LMT	1880
+			 9:48:32 -	PMMT	1895
+			10:00	-	PGT	1942 Jul
+			 9:00	-	JST	1945 Aug 21
+			10:00	-	PGT	2014 Dec 28  2:00
+			11:00	-	BST
 
 # Pitcairn
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
@@ -803,6 +834,7 @@ Zone	Pacific/Wallis	12:15:20 -	LMT	1901
 #	 10:00	AEST	AEDT	Eastern Australia
 #	 10:00	ChST		Chamorro
 #	 10:30	LHST	LHDT	Lord Howe*
+#	 11:00	BST		Bougainville*
 #	 11:30	NZMT	NZST	New Zealand through 1945
 #	 12:00	NZST	NZDT	New Zealand 1946-present
 #	 12:15	CHAST		Chatham through 1945*
diff --git a/lib/modules/Calendar.pmod/tzdata/backzone b/lib/modules/Calendar.pmod/tzdata/backzone
index f464131abd3d13d0e1db9a7e7dd47ce08fb032cc..29320aad7f0f172548c598f0e6a369355887476d 100644
--- a/lib/modules/Calendar.pmod/tzdata/backzone
+++ b/lib/modules/Calendar.pmod/tzdata/backzone
@@ -330,6 +330,20 @@ Zone	Asia/Chongqing	7:06:20	-	LMT	1928     # or Chungking
 			8:00	PRC	C%sT
 Link Asia/Chongqing Asia/Chungking
 
+# Vietnam
+# From Paul Eggert (2014-10-13):
+# See Asia/Ho_Chi_Minh for the source for this data.
+# Trần's book says the 1954-55 transition to 07:00 in Hanoi was in
+# October 1954, with exact date and time unspecified.
+Zone	Asia/Hanoi	7:03:24 -	LMT	1906 Jul  1
+			7:06:30	-	PLMT	1911 May  1
+			7:00	-	ICT	1942 Dec 31 23:00
+			8:00	-	IDT	1945 Mar 14 23:00
+			9:00	-	JST	1945 Sep  2
+			7:00	-	ICT	1947 Apr  1
+			8:00	-	IDT	1954 Oct
+			7:00	-	ICT
+
 # China
 # Changbai Time ("Long-white Time", Long-white = Heilongjiang area)
 # Heilongjiang (except Mohe county), Jilin
@@ -353,11 +367,42 @@ Zone	Asia/Kashgar	5:03:56	-	LMT	1928     # or Kashi or Kaxgar
 # Portuguese India switched to GMT+5 on 1912-01-01.
 #Zone	Asia/Panaji	[not enough info to complete]
 
+# Cambodia
+# From Paul Eggert (2014-10-11):
+# See Asia/Ho_Chi_Minh for the source for most of this data.  Also, guess
+# (1) Cambodia reverted to UT+7 on 1945-09-02, when Vietnam did, and
+# (2) they also reverted to UT+7 on 1953-11-09, the date of independence.
+# These guesses are probably wrong but they're better than guessing no
+# transitions there.
+Zone	Asia/Phnom_Penh	6:59:40 -	LMT	1906 Jul  1
+			7:06:30	-	PLMT	1911 May  1
+			7:00	-	ICT	1942 Dec 31 23:00
+			8:00	-	IDT	1945 Mar 14 23:00
+			9:00	-	JST	1945 Sep  2
+			7:00	-	ICT	1947 Apr  1
+			8:00	-	IDT	1953 Nov  9
+			7:00	-	ICT
+
 # Israel
 Zone	Asia/Tel_Aviv	2:19:04 -	LMT	1880
 			2:21	-	JMT	1918
 			2:00	Zion	I%sT
 
+# Laos
+# From Paul Eggert (2014-10-11):
+# See Asia/Ho_Chi_Minh for the source for most of this data.
+# Trần's book says that Laos reverted to UT+7 on 1955-04-15.
+# Also, guess that Laos reverted to UT+7 on 1945-09-02, when Vietnam did;
+# this is probably wrong but it's better than guessing no transition.
+Zone	Asia/Vientiane	6:50:24 -	LMT	1906 Jul  1
+			7:06:30	-	PLMT	1911 May  1
+			7:00	-	ICT	1942 Dec 31 23:00
+			8:00	-	IDT	1945 Mar 14 23:00
+			9:00	-	JST	1945 Sep  2
+			7:00	-	ICT	1947 Apr  1
+			8:00	-	IDT	1955 Apr 15
+			7:00	-	ICT
+
 # Jan Mayen
 # From Whitman:
 Zone Atlantic/Jan_Mayen	-1:00	-	EGT
diff --git a/lib/modules/Calendar.pmod/tzdata/checktab.awk b/lib/modules/Calendar.pmod/tzdata/checktab.awk
index 84c49ffaee902d05f5b60801beb0495af0210c50..55baa5433c88b052c12dc0bf6b4faa3452fbea57 100644
--- a/lib/modules/Calendar.pmod/tzdata/checktab.awk
+++ b/lib/modules/Calendar.pmod/tzdata/checktab.awk
@@ -25,11 +25,8 @@ BEGIN {
 	  tztab["America/Cayman"] = 1
 	  tztab["Asia/Aden"] = 1
 	  tztab["Asia/Bahrain"] = 1
-	  tztab["Asia/Ho_Chi_Minh"] = 1
 	  tztab["Asia/Kuwait"] = 1
 	  tztab["Asia/Muscat"] = 1
-	  tztab["Asia/Phnom_Penh"] = 1
-	  tztab["Asia/Vientiane"] = 1
 	  tztab["Indian/Antananarivo"] = 1
 	  tztab["Indian/Comoro"] = 1
 	  tztab["Indian/Mayotte"] = 1
diff --git a/lib/modules/Calendar.pmod/tzdata/europe b/lib/modules/Calendar.pmod/tzdata/europe
index 6b20b9287091dfdd0fb275e0e046cda411316fcf..27a8b30ea3ea1b8e32b3256a886e25c0b485b9e9 100644
--- a/lib/modules/Calendar.pmod/tzdata/europe
+++ b/lib/modules/Calendar.pmod/tzdata/europe
@@ -72,7 +72,7 @@
 #        1:00       CET CEST CEMT Central Europe
 #        1:00:14    SET           Swedish (1879-1899)*
 #        2:00       EET EEST      Eastern Europe
-#        3:00       FET           Further-eastern Europe*
+#        3:00       FET           Further-eastern Europe (2011-2014)*
 #        3:00       MSK MSD  MSM* Moscow
 
 # From Peter Ilieve (1994-12-04),
@@ -724,6 +724,13 @@ Zone	Europe/Vienna	1:05:21 -	LMT	1893 Apr
 # http://www.belta.by/ru/all_news/society/V-Belarusi-otmenjaetsja-perexod-na-sezonnoe-vremja_i_572952.html
 # http://naviny.by/rubrics/society/2011/09/16/ic_articles_116_175144/
 # http://news.tut.by/society/250578.html
+#
+# From Alexander Bokovoy (2014-10-09):
+# Belarussian government decided against changing to winter time....
+# http://eng.belta.by/all_news/society/Belarus-decides-against-adjusting-time-in-Russias-wake_i_76335.html
+# From Paul Eggert (2014-10-08):
+# Hence Belarus can share time zone abbreviations with Moscow again.
+#
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Europe/Minsk	1:50:16 -	LMT	1880
 			1:50	-	MMT	1924 May  2 # Minsk Mean Time
@@ -736,7 +743,8 @@ Zone	Europe/Minsk	1:50:16 -	LMT	1880
 			2:00	-	EET	1992 Mar 29  0:00s
 			2:00	1:00	EEST	1992 Sep 27  0:00s
 			2:00	Russia	EE%sT	2011 Mar 27  2:00s
-			3:00	-	FET
+			3:00	-	FET	2014 Oct 26  1:00s
+			3:00	-	MSK
 
 # Belgium
 #
diff --git a/lib/modules/Calendar.pmod/tzdata/northamerica b/lib/modules/Calendar.pmod/tzdata/northamerica
index 3d725055d6f8d6e02f6a06be49fbb7c6e72b6c77..07f527fe9b7e861b2e1c758e19070b2c9f7b9b42 100644
--- a/lib/modules/Calendar.pmod/tzdata/northamerica
+++ b/lib/modules/Calendar.pmod/tzdata/northamerica
@@ -1101,17 +1101,16 @@ Zone America/Menominee	-5:50:27 -	LMT	1885 Sep 18 12:00
 # An amendment to the Interpretation Act was registered on February 19/2007....
 # http://action.attavik.ca/home/justice-gn/attach/2007/gaz02part2.pdf
 
-# From Paul Eggert (2006-04-25):
+# From Paul Eggert (2014-10-18):
 # H. David Matthews and Mary Vincent's map
 # "It's about TIME", _Canadian Geographic_ (September-October 1998)
-# http://www.canadiangeographic.ca/Magazine/SO98/geomap.asp
+# http://www.canadiangeographic.ca/Magazine/SO98/alacarte.asp
 # contains detailed boundaries for regions observing nonstandard
 # time and daylight saving time arrangements in Canada circa 1998.
 #
-# INMS, the Institute for National Measurement Standards in Ottawa, has
-# information about standard and daylight saving time zones in Canada.
-# http://inms-ienm.nrc-cnrc.gc.ca/en/time_services/daylight_saving_e.php
-# (updated periodically).
+# National Research Council Canada maintains info about time zones and DST.
+# http://www.nrc-cnrc.gc.ca/eng/services/time/time_zones.html
+# http://www.nrc-cnrc.gc.ca/eng/services/time/faq/index.html#Q5
 # Its unofficial information is often taken from Matthews and Vincent.
 
 # From Paul Eggert (2006-06-27):
@@ -1976,10 +1975,7 @@ Zone America/Creston	-7:46:04 -	LMT	1884
 # [Also see <http://www.nunatsiaq.com/nunavut/nvt10309_06.html> (2001-03-09).]
 
 # From Gwillim Law (2005-05-21):
-# According to maps at
-# http://inms-ienm.nrc-cnrc.gc.ca/images/time_services/TZ01SWE.jpg
-# http://inms-ienm.nrc-cnrc.gc.ca/images/time_services/TZ01SSE.jpg
-# (both dated 2003), and
+# According to ...
 # http://www.canadiangeographic.ca/Magazine/SO98/geomap.asp
 # (from a 1998 Canadian Geographic article), the de facto and de jure time
 # for Southampton Island (at the north end of Hudson Bay) is UTC-5 all year
@@ -1988,9 +1984,11 @@ Zone America/Creston	-7:46:04 -	LMT	1884
 # predates the creation of Nunavut, it probably goes back many years....
 # The Inuktitut name of Coral Harbour is Sallit, but it's rarely used.
 #
-# From Paul Eggert (2005-07-26):
+# From Paul Eggert (2014-10-17):
 # For lack of better information, assume that Southampton Island observed
-# daylight saving only during wartime.
+# daylight saving only during wartime.  Gwillim Law's email also
+# mentioned maps now maintained by National Research Council Canada;
+# see above for an up-to-date link.
 
 # From Chris Walton (2007-03-01):
 # ... the community of Resolute (located on Cornwallis Island in
diff --git a/lib/modules/Calendar.pmod/tzdata/zone.tab b/lib/modules/Calendar.pmod/tzdata/zone.tab
index 084bb2fb7f5d176a7ad7f934c89cadfdeeb11ef9..a7373f177df5607a9c66103e8142810764a57c5e 100644
--- a/lib/modules/Calendar.pmod/tzdata/zone.tab
+++ b/lib/modules/Calendar.pmod/tzdata/zone.tab
@@ -307,7 +307,8 @@ PE	-1203-07703	America/Lima
 PF	-1732-14934	Pacific/Tahiti	Society Islands
 PF	-0900-13930	Pacific/Marquesas	Marquesas Islands
 PF	-2308-13457	Pacific/Gambier	Gambier Islands
-PG	-0930+14710	Pacific/Port_Moresby
+PG	-0930+14710	Pacific/Port_Moresby	most locations
+PG	-0613+15534	Pacific/Bougainville	Bougainville
 PH	+1435+12100	Asia/Manila
 PK	+2452+06703	Asia/Karachi
 PL	+5215+02100	Europe/Warsaw
diff --git a/lib/modules/Calendar.pmod/tzdata/zone1970.tab b/lib/modules/Calendar.pmod/tzdata/zone1970.tab
index f0e38f1d169a5a18ab28048a407a2d2702049aef..e971bc7f5a2197c60a23d5ff58a77b99ba7603e9 100644
--- a/lib/modules/Calendar.pmod/tzdata/zone1970.tab
+++ b/lib/modules/Calendar.pmod/tzdata/zone1970.tab
@@ -264,7 +264,8 @@ PE	-1203-07703	America/Lima
 PF	-1732-14934	Pacific/Tahiti	Society Islands
 PF	-0900-13930	Pacific/Marquesas	Marquesas Islands
 PF	-2308-13457	Pacific/Gambier	Gambier Islands
-PG	-0930+14710	Pacific/Port_Moresby
+PG	-0930+14710	Pacific/Port_Moresby	most locations
+PG	-0613+15534	Pacific/Bougainville	Bougainville
 PH	+1435+12100	Asia/Manila
 PK	+2452+06703	Asia/Karachi
 PL	+5215+02100	Europe/Warsaw
@@ -315,7 +316,7 @@ SY	+3330+03618	Asia/Damascus
 TC	+2128-07108	America/Grand_Turk
 TD	+1207+01503	Africa/Ndjamena
 TF	-492110+0701303	Indian/Kerguelen	Kerguelen, St Paul I, Amsterdam I
-TH,KH,LA,VN	+1345+10031	Asia/Bangkok
+TH,KH,LA,VN	+1345+10031	Asia/Bangkok	most of Indochina
 TJ	+3835+06848	Asia/Dushanbe
 TK	-0922-17114	Pacific/Fakaofo
 TL	-0833+12535	Asia/Dili
@@ -363,6 +364,7 @@ UY	-3453-05611	America/Montevideo
 UZ	+3940+06648	Asia/Samarkand	west Uzbekistan
 UZ	+4120+06918	Asia/Tashkent	east Uzbekistan
 VE	+1030-06656	America/Caracas
+VN	+1045+10640	Asia/Ho_Chi_Minh	south Vietnam
 VU	-1740+16825	Pacific/Efate
 WF	-1318-17610	Pacific/Wallis
 WS	-1350-17144	Pacific/Apia