1.1 --- a/make/sun/javazic/tzdata/VERSION Mon Jun 01 01:05:22 2009 -0700
1.2 +++ b/make/sun/javazic/tzdata/VERSION Mon Jun 01 01:06:28 2009 -0700
1.3 @@ -21,4 +21,4 @@
1.4 # CA 95054 USA or visit www.sun.com if you need additional information or
1.5 # have any questions.
1.6 #
1.7 -tzdata2009a
1.8 +tzdata2009g
2.1 --- a/make/sun/javazic/tzdata/africa Mon Jun 01 01:05:22 2009 -0700
2.2 +++ b/make/sun/javazic/tzdata/africa Mon Jun 01 01:06:28 2009 -0700
2.3 @@ -258,7 +258,46 @@
2.4 # unless discontinued, next DST may end Thursday 28 August 2008.
2.5 # From Paul Eggert (2007-08-17):
2.6 # For lack of better info, assume the new rule is last Thursday in August.
2.7 -Rule Egypt 2008 max - Aug lastThu 23:00s 0 -
2.8 +
2.9 +# From Petr Machata (2009-04-06):
2.10 +# The following appeared in Red Hat bugzilla[1] (edited):
2.11 +#
2.12 +# > $ zdump -v /usr/share/zoneinfo/Africa/Cairo | grep 2009
2.13 +# > /usr/share/zoneinfo/Africa/Cairo Thu Apr 23 21:59:59 2009 UTC =3D Thu =
2.14 +# Apr 23
2.15 +# > 23:59:59 2009 EET isdst=3D0 gmtoff=3D7200
2.16 +# > /usr/share/zoneinfo/Africa/Cairo Thu Apr 23 22:00:00 2009 UTC =3D Fri =
2.17 +# Apr 24
2.18 +# > 01:00:00 2009 EEST isdst=3D1 gmtoff=3D10800
2.19 +# > /usr/share/zoneinfo/Africa/Cairo Thu Aug 27 20:59:59 2009 UTC =3D Thu =
2.20 +# Aug 27
2.21 +# > 23:59:59 2009 EEST isdst=3D1 gmtoff=3D10800
2.22 +# > /usr/share/zoneinfo/Africa/Cairo Thu Aug 27 21:00:00 2009 UTC =3D Thu =
2.23 +# Aug 27
2.24 +# > 23:00:00 2009 EET isdst=3D0 gmtoff=3D7200
2.25 +#
2.26 +# > end date should be Thu Sep 24 2009 (Last Thursday in September at 23:59=
2.27 +# :59)
2.28 +# > http://support.microsoft.com/kb/958729/
2.29 +#
2.30 +# timeanddate[2] and another site I've found[3] also support that.
2.31 +#
2.32 +# [1] <a href="https://bugzilla.redhat.com/show_bug.cgi?id=3D492263">
2.33 +# https://bugzilla.redhat.com/show_bug.cgi?id=3D492263
2.34 +# </a>
2.35 +# [2] <a href="http://www.timeanddate.com/worldclock/clockchange.html?n=3D53">
2.36 +# http://www.timeanddate.com/worldclock/clockchange.html?n=3D53
2.37 +# </a>
2.38 +# [3] <a href="http://wwp.greenwichmeantime.com/time-zone/africa/egypt/">
2.39 +# http://wwp.greenwichmeantime.com/time-zone/africa/egypt/
2.40 +# </a>
2.41 +
2.42 +# From Arthur David Olson (2009-04-20):
2.43 +# In 2009 (and for the next several years), Ramadan ends before the fourth
2.44 +# Thursday in September; Egypt is expected to revert to the last Thursday
2.45 +# in September.
2.46 +Rule Egypt 2008 only - Aug lastThu 23:00s 0 -
2.47 +Rule Egypt 2009 max - Sep lastThu 23:00s 0 -
2.48
2.49 # Zone NAME GMTOFF RULES FORMAT [UNTIL]
2.50 Zone Africa/Cairo 2:05:00 - LMT 1900 Oct
2.51 @@ -586,6 +625,40 @@
2.52 # <a href="http://www.timeanddate.com/news/time/morocco-ends-dst-early-2008.html">
2.53 # http://www.timeanddate.com/news/time/morocco-ends-dst-early-2008.html
2.54 # </a>
2.55 +
2.56 +# From Steffen Thorsen (2009-03-17):
2.57 +# Morocco will observe DST from 2009-06-01 00:00 to 2009-08-21 00:00 according
2.58 +# to many sources, such as
2.59 +# <a href="http://news.marweb.com/morocco/entertainment/morocco-daylight-saving.html">
2.60 +# http://news.marweb.com/morocco/entertainment/morocco-daylight-saving.html
2.61 +# </a>
2.62 +# <a href="http://www.medi1sat.ma/fr/depeche.aspx?idp=2312">
2.63 +# http://www.medi1sat.ma/fr/depeche.aspx?idp=2312
2.64 +# </a>
2.65 +# (French)
2.66 +#
2.67 +# Our summary:
2.68 +# <a href="http://www.timeanddate.com/news/time/morocco-starts-dst-2009.html">
2.69 +# http://www.timeanddate.com/news/time/morocco-starts-dst-2009.html
2.70 +# </a>
2.71 +
2.72 +# From Alexander Krivenyshev (2009-03-17):
2.73 +# Here is a link to official document from Royaume du Maroc Premier Ministre,
2.74 +# Ministere de la Modernisation des Secteurs Publics
2.75 +#
2.76 +# Under Article 1 of Royal Decree No. 455-67 of Act 23 safar 1387 (2 june 1967)
2.77 +# concerning the amendment of the legal time, the Ministry of Modernization of
2.78 +# Public Sectors announced that the official time in the Kingdom will be
2.79 +# advanced 60 minutes from Sunday 31 May 2009 at midnight.
2.80 +#
2.81 +# <a href="http://www.mmsp.gov.ma/francais/Actualites_fr/PDF_Actualites_Fr/HeureEte_FR.pdf">
2.82 +# http://www.mmsp.gov.ma/francais/Actualites_fr/PDF_Actualites_Fr/HeureEte_FR.pdf
2.83 +# </a>
2.84 +#
2.85 +# <a href="http://www.worldtimezone.com/dst_news/dst_news_morocco03.html">
2.86 +# http://www.worldtimezone.com/dst_news/dst_news_morocco03.html
2.87 +# </a>
2.88 +
2.89 # RULE NAME FROM TO TYPE IN ON AT SAVE LETTER/S
2.90
2.91 Rule Morocco 1939 only - Sep 12 0:00 1:00 S
2.92 @@ -605,6 +678,8 @@
2.93 Rule Morocco 1978 only - Aug 4 0:00 0 -
2.94 Rule Morocco 2008 only - Jun 1 0:00 1:00 S
2.95 Rule Morocco 2008 only - Sep 1 0:00 0 -
2.96 +Rule Morocco 2009 only - Jun 1 0:00 1:00 S
2.97 +Rule Morocco 2009 only - Aug 21 0:00 0 -
2.98 # Zone NAME GMTOFF RULES FORMAT [UNTIL]
2.99 Zone Africa/Casablanca -0:30:20 - LMT 1913 Oct 26
2.100 0:00 Morocco WE%sT 1984 Mar 16
2.101 @@ -809,6 +884,43 @@
2.102 # Ending : the last Sunday of October at 03:00 ...
2.103 # http://www.tap.info.tn/en/index.php?option=com_content&task=view&id=1188&Itemid=50
2.104
2.105 +# From Steffen Thorsen (2009-03-16):
2.106 +# According to several news sources, Tunisia will not observe DST this year.
2.107 +# (Arabic)
2.108 +# <a href="http://www.elbashayer.com/?page=viewn&nid=42546">
2.109 +# http://www.elbashayer.com/?page=viewn&nid=42546
2.110 +# </a>
2.111 +# <a href="http://www.babnet.net/kiwidetail-15295.asp">
2.112 +# http://www.babnet.net/kiwidetail-15295.asp
2.113 +# </a>
2.114 +#
2.115 +# We have also confirmed this with the US embassy in Tunisia.
2.116 +# We have a wrap-up about this on the following page:
2.117 +# <a href="http://www.timeanddate.com/news/time/tunisia-cancels-dst-2009.html">
2.118 +# http://www.timeanddate.com/news/time/tunisia-cancels-dst-2009.html
2.119 +# </a>
2.120 +
2.121 +# From Alexander Krivenyshev (2009-03-17):
2.122 +# Here is a link to Tunis Afrique Presse News Agency
2.123 +#
2.124 +# Standard time to be kept the whole year long (tap.info.tn):
2.125 +#
2.126 +# (in English)
2.127 +# <a href="http://www.tap.info.tn/en/index.php?option=com_content&task=view&id=26813&Itemid=157">
2.128 +# http://www.tap.info.tn/en/index.php?option=com_content&task=view&id=26813&Itemid=157
2.129 +# </a>
2.130 +#
2.131 +# (in Arabic)
2.132 +# <a href="http://www.tap.info.tn/ar/index.php?option=com_content&task=view&id=61240&Itemid=1">
2.133 +# http://www.tap.info.tn/ar/index.php?option=com_content&task=view&id=61240&Itemid=1
2.134 +# </a>
2.135 +
2.136 +# From Arthur David Olson (2009--3-18):
2.137 +# The Tunis Afrique Presse News Agency notice contains this: "This measure is due to the fact
2.138 +# that the fasting month of ramadan coincides with the period concerned by summer time.
2.139 +# Therefore, the standard time will be kept unchanged the whole year long."
2.140 +# So foregoing DST seems to be an exception (albeit one that may be repeated in the future).
2.141 +
2.142 # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
2.143 Rule Tunisia 1939 only - Apr 15 23:00s 1:00 S
2.144 Rule Tunisia 1939 only - Nov 18 23:00s 0 -
2.145 @@ -833,8 +945,10 @@
2.146 Rule Tunisia 1990 only - May 1 0:00s 1:00 S
2.147 Rule Tunisia 2005 only - May 1 0:00s 1:00 S
2.148 Rule Tunisia 2005 only - Sep 30 1:00s 0 -
2.149 -Rule Tunisia 2006 max - Mar lastSun 2:00s 1:00 S
2.150 -Rule Tunisia 2006 max - Oct lastSun 2:00s 0 -
2.151 +Rule Tunisia 2006 2008 - Mar lastSun 2:00s 1:00 S
2.152 +Rule Tunisia 2006 2008 - Oct lastSun 2:00s 0 -
2.153 +Rule Tunisia 2010 max - Mar lastSun 2:00s 1:00 S
2.154 +Rule Tunisia 2010 max - Oct lastSun 2:00s 0 -
2.155 # Shanks & Pottenger give 0:09:20 for Paris Mean Time; go with Howse's
2.156 # more precise 0:09:21.
2.157 # Shanks & Pottenger say the 1911 switch was on Mar 9; go with Howse's Mar 11.
3.1 --- a/make/sun/javazic/tzdata/asia Mon Jun 01 01:05:22 2009 -0700
3.2 +++ b/make/sun/javazic/tzdata/asia Mon Jun 01 01:06:28 2009 -0700
3.3 @@ -1071,6 +1071,40 @@
3.4 # http://www.petranews.gov.jo/nepras/2006/Sep/05/4000.htm
3.5 # "Jordan will switch to winter time on Friday, October 27".
3.6 #
3.7 +
3.8 +# From Phil Pizzey (2009-04-02):
3.9 +# ...I think I may have spotted an error in the timezone data for
3.10 +# Jordan.
3.11 +# The current (2009d) asia file shows Jordan going to daylight
3.12 +# saving
3.13 +# time on the last Thursday in March.
3.14 +#
3.15 +# Rule Jordan 2000 max - Mar lastThu 0:00s 1:00 S
3.16 +#
3.17 +# However timeanddate.com, which I usually find reliable, shows Jordan
3.18 +# going to daylight saving time on the last Friday in March since 2002.
3.19 +# Please see
3.20 +# <a href="http://www.timeanddate.com/worldclock/timezone.html?n=11">
3.21 +# http://www.timeanddate.com/worldclock/timezone.html?n=11
3.22 +# </a>
3.23 +
3.24 +# From Steffen Thorsen (2009-04-02):
3.25 +# This single one might be good enough, (2009-03-24, Arabic):
3.26 +# <a href="http://petra.gov.jo/Artical.aspx?Lng=2&Section=8&Artical=95279">
3.27 +# http://petra.gov.jo/Artical.aspx?Lng=2&Section=8&Artical=95279
3.28 +# </a>
3.29 +#
3.30 +# Google's translation:
3.31 +#
3.32 +# > The Council of Ministers decided in 2002 to adopt the principle of timely
3.33 +# > submission of the summer at 60 minutes as of midnight on the last Thursday
3.34 +# > of the month of March of each year.
3.35 +#
3.36 +# So - this means the midnight between Thursday and Friday since 2002.
3.37 +
3.38 +# From Arthur David Olson (2009-04-06):
3.39 +# We still have Jordan switching to DST on Thursdays in 2000 and 2001.
3.40 +
3.41 # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
3.42 Rule Jordan 1973 only - Jun 6 0:00 1:00 S
3.43 Rule Jordan 1973 1975 - Oct 1 0:00 0 -
3.44 @@ -1093,8 +1127,9 @@
3.45 Rule Jordan 1994 only - Sep Fri>=15 0:00 0 -
3.46 Rule Jordan 1995 1998 - Sep Fri>=15 0:00s 0 -
3.47 Rule Jordan 1999 only - Jul 1 0:00s 1:00 S
3.48 -Rule Jordan 1999 2002 - Sep lastThu 0:00s 0 -
3.49 -Rule Jordan 2000 max - Mar lastThu 0:00s 1:00 S
3.50 +Rule Jordan 1999 2002 - Sep lastFri 0:00s 0 -
3.51 +Rule Jordan 2000 2001 - Mar lastThu 0:00s 1:00 S
3.52 +Rule Jordan 2002 max - Mar lastFri 0:00s 1:00 S
3.53 Rule Jordan 2003 only - Oct 24 0:00s 0 -
3.54 Rule Jordan 2004 only - Oct 15 0:00s 0 -
3.55 Rule Jordan 2005 only - Sep lastFri 0:00s 0 -
3.56 @@ -1576,11 +1611,46 @@
3.57 # http://dailymailnews.com/200808/28/news/dmbrn03.html
3.58 # </a>
3.59
3.60 +# From Alexander Krivenyshev (2009-04-08):
3.61 +# Based on previous media reports that "... proposed plan to
3.62 +# advance clocks by one hour from May 1 will cause disturbance
3.63 +# to the working schedules rather than bringing discipline in
3.64 +# official working."
3.65 +# <a href="http://www.thenews.com.pk/daily_detail.asp?id=171280">
3.66 +# http://www.thenews.com.pk/daily_detail.asp?id=171280
3.67 +# </a>
3.68 +#
3.69 +# recent news that instead of May 2009 - Pakistan plan to
3.70 +# introduce DST from April 15, 2009
3.71 +#
3.72 +# FYI: Associated Press Of Pakistan
3.73 +# April 08, 2009
3.74 +# Cabinet okays proposal to advance clocks by one hour from April 15
3.75 +# <a href="http://www.app.com.pk/en_/index.php?option=com_content&task=view&id=73043&Itemid=1">
3.76 +# http://www.app.com.pk/en_/index.php?option=com_content&task=view&id=73043&Itemid=1
3.77 +# </a>
3.78 +#
3.79 +# or
3.80 +#
3.81 +# <a href="http://www.worldtimezone.com/dst_news/dst_news_pakistan05.html">
3.82 +# http://www.worldtimezone.com/dst_news/dst_news_pakistan05.html
3.83 +# </a>
3.84 +#
3.85 +# ....
3.86 +# The Federal Cabinet on Wednesday approved the proposal to
3.87 +# advance clocks in the country by one hour from April 15 to
3.88 +# conserve energy"
3.89 +
3.90 +# From Arthur David Olson (2009-04-10):
3.91 +# Assume for now that Pakistan will end DST in 2009 as it did in 2008.
3.92 +
3.93 # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
3.94 Rule Pakistan 2002 only - Apr Sun>=2 0:01 1:00 S
3.95 Rule Pakistan 2002 only - Oct Sun>=2 0:01 0 -
3.96 Rule Pakistan 2008 only - Jun 1 0:00 1:00 S
3.97 Rule Pakistan 2008 only - Nov 1 0:00 0 -
3.98 +Rule Pakistan 2009 only - Apr 15 0:00 1:00 S
3.99 +Rule Pakistan 2009 only - Nov 1 0:00 0 -
3.100 # Zone NAME GMTOFF RULES FORMAT [UNTIL]
3.101 Zone Asia/Karachi 4:28:12 - LMT 1907
3.102 5:30 - IST 1942 Sep
3.103 @@ -1717,6 +1787,22 @@
3.104 # http://www.worldtimezone.com/dst_news/dst_news_gazastrip01.html
3.105 # </a>
3.106
3.107 +# From Alexander Krivenyshev (2009-03-26):
3.108 +# According to the Palestine News Network (arabic.pnn.ps), Palestinian
3.109 +# government decided to start Daylight Time on Thursday night March
3.110 +# 26 and continue until the night of 27 September 2009.
3.111 +#
3.112 +# (in Arabic)
3.113 +# <a href="http://arabic.pnn.ps/index.php?option=com_content&task=view&id=50850">
3.114 +# http://arabic.pnn.ps/index.php?option=com_content&task=view&id=50850
3.115 +# </a>
3.116 +#
3.117 +# or
3.118 +# (English translation)
3.119 +# <a href="http://www.worldtimezone.com/dst_news/dst_news_westbank01.html">
3.120 +# http://www.worldtimezone.com/dst_news/dst_news_westbank01.html
3.121 +# </a>
3.122 +
3.123 # The rules for Egypt are stolen from the `africa' file.
3.124 # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
3.125 Rule EgyptAsia 1957 only - May 10 0:00 1:00 S
3.126 @@ -1730,10 +1816,12 @@
3.127 Rule Palestine 1999 2003 - Oct Fri>=15 0:00 0 -
3.128 Rule Palestine 2004 only - Oct 1 1:00 0 -
3.129 Rule Palestine 2005 only - Oct 4 2:00 0 -
3.130 -Rule Palestine 2006 max - Apr 1 0:00 1:00 S
3.131 +Rule Palestine 2006 2008 - Apr 1 0:00 1:00 S
3.132 Rule Palestine 2006 only - Sep 22 0:00 0 -
3.133 Rule Palestine 2007 only - Sep Thu>=8 2:00 0 -
3.134 -Rule Palestine 2008 max - Aug lastThu 2:00 0 -
3.135 +Rule Palestine 2008 only - Aug lastFri 2:00 0 -
3.136 +Rule Palestine 2009 max - Mar lastFri 0:00 1:00 S
3.137 +Rule Palestine 2009 max - Sep lastMon 2:00 0 -
3.138
3.139 # Zone NAME GMTOFF RULES FORMAT [UNTIL]
3.140 Zone Asia/Gaza 2:17:52 - LMT 1900 Oct
3.141 @@ -1991,8 +2079,29 @@
3.142 # http://sana.sy/ara/2/2008/10/07/195459.htm
3.143 # </a>
3.144
3.145 -Rule Syria 2008 max - Apr Fri>=1 0:00 1:00 S
3.146 +# From Steffen Thorsen (2009-03-19):
3.147 +# Syria will start DST on 2009-03-27 00:00 this year according to many sources,
3.148 +# two examples:
3.149 +#
3.150 +# <a href="http://www.sana.sy/eng/21/2009/03/17/217563.htm">
3.151 +# http://www.sana.sy/eng/21/2009/03/17/217563.htm
3.152 +# </a>
3.153 +# (English, Syrian Arab News # Agency)
3.154 +# <a href="http://thawra.alwehda.gov.sy/_View_news2.asp?FileName=94459258720090318012209">
3.155 +# http://thawra.alwehda.gov.sy/_View_news2.asp?FileName=94459258720090318012209
3.156 +# </a>
3.157 +# (Arabic, gov-site)
3.158 +#
3.159 +# We have not found any sources saying anything about when DST ends this year.
3.160 +#
3.161 +# Our summary
3.162 +# <a href="http://www.timeanddate.com/news/time/syria-dst-starts-march-27-2009.html">
3.163 +# http://www.timeanddate.com/news/time/syria-dst-starts-march-27-2009.html
3.164 +# </a>
3.165 +
3.166 +Rule Syria 2008 only - Apr Fri>=1 0:00 1:00 S
3.167 Rule Syria 2008 max - Nov 1 0:00 0 -
3.168 +Rule Syria 2009 max - Mar lastFri 0:00 1:00 S
3.169
3.170 # Zone NAME GMTOFF RULES FORMAT [UNTIL]
3.171 Zone Asia/Damascus 2:25:12 - LMT 1920 # Dimashq
4.1 --- a/make/sun/javazic/tzdata/leapseconds Mon Jun 01 01:05:22 2009 -0700
4.2 +++ b/make/sun/javazic/tzdata/leapseconds Mon Jun 01 01:06:28 2009 -0700
4.3 @@ -75,40 +75,32 @@
4.4 # SERVICE DE LA ROTATION TERRESTRE
4.5 # OBSERVATOIRE DE PARIS
4.6 # 61, Av. de l'Observatoire 75014 PARIS (France)
4.7 -# Tel. : 33 (0) 1 40 51 22 26
4.8 +# Tel. : 33 (0) 1 40 51 22 29
4.9 # FAX : 33 (0) 1 40 51 22 91
4.10 -# e-mail : services.iers@obspm.fr
4.11 -# http://hpiers.obspm.fr/eop-pc
4.12 +# Internet : services.iers@obspm.fr
4.13 #
4.14 -# Paris, 4 July 2008
4.15 +# Paris, 15 January 2009
4.16 #
4.17 -# Bulletin C 36
4.18 +# Bulletin C 37
4.19 #
4.20 # To authorities responsible
4.21 # for the measurement and
4.22 # distribution of time
4.23 #
4.24 -# UTC TIME STEP
4.25 -# on the 1st of January 2009
4.26 +# INFORMATION ON UTC - TAI
4.27 #
4.28 -# A positive leap second will be introduced at the end of December 2008.
4.29 -# The sequence of dates of the UTC second markers will be:
4.30 +# NO positive leap second will be introduced at the end of June 2009.
4.31 +# The difference between Coordinated Universal Time UTC and the
4.32 +# International Atomic Time TAI is :
4.33 #
4.34 -# 2008 December 31, 23h 59m 59s
4.35 -# 2008 December 31, 23h 59m 60s
4.36 -# 2009 January 1, 0h 0m 0s
4.37 -#
4.38 -# The difference between UTC and the International Atomic Time TAI is:
4.39 -#
4.40 -# from 2006 January 1, 0h UTC, to 2009 January 1 0h UTC : UTC-TAI = - 33s
4.41 -# from 2009 January 1, 0h UTC, until further notice : UTC-TAI = - 34s
4.42 +# from 2009 January 1, 0h UTC, until further notice : UTC-TAI = -34 s
4.43 #
4.44 # Leap seconds can be introduced in UTC at the end of the months of December
4.45 -# or June, depending on the evolution of UT1-TAI. Bulletin C is mailed every
4.46 -# six months, either to announce a time step in UTC or to confirm that there
4.47 +# or June, depending on the evolution of UT1-TAI. Bulletin C is mailed every
4.48 +# six months, either to announce a time step in UTC, or to confirm that there
4.49 # will be no time step at the next possible date.
4.50 #
4.51 # Daniel GAMBIS
4.52 -# Head
4.53 -# Earth Orientation Center of IERS
4.54 +# Head
4.55 +# Earth Orientation Center of the IERS
4.56 # Observatoire de Paris, France
5.1 --- a/make/sun/javazic/tzdata/northamerica Mon Jun 01 01:05:22 2009 -0700
5.2 +++ b/make/sun/javazic/tzdata/northamerica Mon Jun 01 01:06:28 2009 -0700
5.3 @@ -2280,6 +2280,25 @@
5.4 # From Arthur David Olson (2008-03-12):
5.5 # Assume Sun>=15 (third Sunday) going forward.
5.6
5.7 +# From Alexander Krivenyshev (2009-03-04)
5.8 +# According to the Radio Reloj - Cuba will start Daylight Saving Time on
5.9 +# midnight between Saturday, March 07, 2009 and Sunday, March 08, 2009-
5.10 +# not on midnight March 14 / March 15 as previously thought.
5.11 +#
5.12 +# <a href="http://www.worldtimezone.com/dst_news/dst_news_cuba05.html">
5.13 +# http://www.worldtimezone.com/dst_news/dst_news_cuba05.html
5.14 +# (in Spanish)
5.15 +# </a>
5.16 +
5.17 +# From Arthur David Olson (2009-03-09)
5.18 +# I listened over the Internet to
5.19 +# <a href="http://media.enet.cu/readioreloj">
5.20 +# http://media.enet.cu/readioreloj
5.21 +# </a>
5.22 +# this morning; when it was 10:05 a. m. here in Bethesda, Maryland the
5.23 +# the time was announced as "diez cinco"--the same time as here, indicating
5.24 +# that has indeed switched to DST. Assume second Sunday from 2009 forward.
5.25 +
5.26 # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
5.27 Rule Cuba 1928 only - Jun 10 0:00 1:00 D
5.28 Rule Cuba 1928 only - Oct 10 0:00 0 S
5.29 @@ -2312,7 +2331,8 @@
5.30 Rule Cuba 2000 2004 - Apr Sun>=1 0:00s 1:00 D
5.31 Rule Cuba 2006 max - Oct lastSun 0:00s 0 S
5.32 Rule Cuba 2007 only - Mar Sun>=8 0:00s 1:00 D
5.33 -Rule Cuba 2008 max - Mar Sun>=15 0:00s 1:00 D
5.34 +Rule Cuba 2008 only - Mar Sun>=15 0:00s 1:00 D
5.35 +Rule Cuba 2009 max - Mar Sun>=8 0:00s 1:00 D
5.36
5.37 # Zone NAME GMTOFF RULES FORMAT [UNTIL]
5.38 Zone America/Havana -5:29:28 - LMT 1890
6.1 --- a/make/sun/javazic/tzdata/southamerica Mon Jun 01 01:05:22 2009 -0700
6.2 +++ b/make/sun/javazic/tzdata/southamerica Mon Jun 01 01:06:28 2009 -0700
6.3 @@ -373,6 +373,50 @@
6.4 # keep America/Cordoba a single region rather than splitting it into the
6.5 # other 5 subregions.
6.6
6.7 +# From Mariano Absatz (2009-03-13):
6.8 +# Yesterday (with our usual 2-day notice) the Province of San Luis
6.9 +# decided that next Sunday instead of "staying" @utc-03:00 they will go
6.10 +# to utc-04:00 until the second Saturday in October...
6.11 +#
6.12 +# The press release is at
6.13 +# <a href="http://www.sanluis.gov.ar/SL/Paginas/NoticiaDetalle.asp?TemaId=1&InfoPrensaId=3102">
6.14 +# http://www.sanluis.gov.ar/SL/Paginas/NoticiaDetalle.asp?TemaId=1&InfoPrensaId=3102
6.15 +# </a>
6.16 +# (I couldn't find the decree, but
6.17 +# <a href="http://www.sanluis.gov.ar">
6.18 +# www.sanluis.gov.ar
6.19 +# <a/>
6.20 +# is the official page for the Province Government).
6.21 +#
6.22 +# There's also a note in only one of the major national papers (La Nación) at
6.23 +# <a href="http://www.lanacion.com.ar/nota.asp?nota_id=1107912">
6.24 +# http://www.lanacion.com.ar/nota.asp?nota_id=1107912
6.25 +# </a>
6.26 +#
6.27 +# The press release says:
6.28 +# (...) anunció que el próximo domingo a las 00:00 los puntanos deberán
6.29 +# atrasar una hora sus relojes.
6.30 +#
6.31 +# A partir de entonces, San Luis establecerá el huso horario propio de
6.32 +# la Provincia. De esta manera, durante el periodo del calendario anual
6.33 +# 2009, el cambio horario quedará comprendido entre las 00:00 del tercer
6.34 +# domingo de marzo y las 24:00 del segundo sábado de octubre.
6.35 +# Quick&dirty translation
6.36 +# (...) announced that next Sunday, at 00:00, Puntanos (the San Luis
6.37 +# inhabitants) will have to turn back one hour their clocks
6.38 +#
6.39 +# Since then, San Luis will establish its own Province timezone. Thus,
6.40 +# during 2009, this timezone change will run from 00:00 the third Sunday
6.41 +# in March until 24:00 of the second Saturday in October.
6.42 +
6.43 +# From Arthur David Olson (2009-03-16):
6.44 +# The unofficial claim at
6.45 +# <a href="http://www.timeanddate.com/news/time/san-luis-new-time-zone.html">
6.46 +# http://www.timeanddate.com/news/time/san-luis-new-time-zone.html
6.47 +# </a>
6.48 +# is that "The province will most likely follow the next daylight saving schedule,
6.49 +# which is planned for the second Sunday in October."
6.50 +
6.51 #
6.52 # Zone NAME GMTOFF RULES FORMAT [UNTIL]
6.53 #
6.54 @@ -520,7 +564,8 @@
6.55 -3:00 - ART 2004 May 31
6.56 -4:00 - WART 2004 Jul 25
6.57 -3:00 Arg AR%sT 2008 Jan 21
6.58 - -3:00 - ART
6.59 + -3:00 - ART 2009 Mar 15
6.60 + -4:00 Arg WAR%sT
6.61 #
6.62 # Santa Cruz (SC)
6.63 Zone America/Argentina/Rio_Gallegos -4:36:52 - LMT 1894 Oct 31
7.1 --- a/src/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java Mon Jun 01 01:05:22 2009 -0700
7.2 +++ b/src/share/classes/javax/swing/plaf/basic/BasicDirectoryModel.java Mon Jun 01 01:06:28 2009 -0700
7.3 @@ -230,51 +230,46 @@
7.4 }
7.5
7.6 public void run0() {
7.7 - DoChangeContents doChangeContents = ShellFolder.getInvoker().invoke(new Callable<DoChangeContents>() {
7.8 - public DoChangeContents call() throws Exception {
7.9 - FileSystemView fileSystem = filechooser.getFileSystemView();
7.10 + FileSystemView fileSystem = filechooser.getFileSystemView();
7.11
7.12 - File[] list = fileSystem.getFiles(currentDirectory, filechooser.isFileHidingEnabled());
7.13 + File[] list = fileSystem.getFiles(currentDirectory, filechooser.isFileHidingEnabled());
7.14
7.15 - Vector<File> acceptsList = new Vector<File>();
7.16 + if (isInterrupted()) {
7.17 + return;
7.18 + }
7.19
7.20 - if (isInterrupted()) {
7.21 - return null;
7.22 - }
7.23 + final Vector<File> newFileCache = new Vector<File>();
7.24 + Vector<File> newFiles = new Vector<File>();
7.25
7.26 - // run through the file list, add directories and selectable files to fileCache
7.27 - for (File file : list) {
7.28 - if (filechooser.accept(file)) {
7.29 - acceptsList.addElement(file);
7.30 - }
7.31 + // run through the file list, add directories and selectable files to fileCache
7.32 + // Note that this block must be OUTSIDE of Invoker thread because of
7.33 + // deadlock possibility with custom synchronized FileSystemView
7.34 + for (File file : list) {
7.35 + if (filechooser.accept(file)) {
7.36 + boolean isTraversable = filechooser.isTraversable(file);
7.37 +
7.38 + if (isTraversable) {
7.39 + newFileCache.addElement(file);
7.40 + } else if (filechooser.isFileSelectionEnabled()) {
7.41 + newFiles.addElement(file);
7.42 }
7.43
7.44 if (isInterrupted()) {
7.45 - return null;
7.46 + return;
7.47 }
7.48 + }
7.49 + }
7.50
7.51 - // First sort alphabetically by filename
7.52 - sort(acceptsList);
7.53 + // First sort alphabetically by filename
7.54 + sort(newFileCache);
7.55 + sort(newFiles);
7.56
7.57 - Vector<File> newDirectories = new Vector<File>(50);
7.58 - Vector<File> newFiles = new Vector<File>();
7.59 - // run through list grabbing directories in chunks of ten
7.60 - for (int i = 0; i < acceptsList.size(); i++) {
7.61 - File f = acceptsList.elementAt(i);
7.62 - boolean isTraversable = filechooser.isTraversable(f);
7.63 - if (isTraversable) {
7.64 - newDirectories.addElement(f);
7.65 - } else if (!isTraversable && filechooser.isFileSelectionEnabled()) {
7.66 - newFiles.addElement(f);
7.67 - }
7.68 - if (isInterrupted()) {
7.69 - return null;
7.70 - }
7.71 - }
7.72 + newFileCache.addAll(newFiles);
7.73
7.74 - Vector<File> newFileCache = new Vector<File>(newDirectories);
7.75 - newFileCache.addAll(newFiles);
7.76 -
7.77 + // To avoid loads of synchronizations with Invoker and improve performance we
7.78 + // execute the whole block on the COM thread
7.79 + DoChangeContents doChangeContents = ShellFolder.getInvoker().invoke(new Callable<DoChangeContents>() {
7.80 + public DoChangeContents call() throws Exception {
7.81 int newSize = newFileCache.size();
7.82 int oldSize = fileCache.size();
7.83
8.1 --- a/src/share/classes/javax/swing/plaf/nimbus/skin.laf Mon Jun 01 01:05:22 2009 -0700
8.2 +++ b/src/share/classes/javax/swing/plaf/nimbus/skin.laf Mon Jun 01 01:06:28 2009 -0700
8.3 @@ -4201,8 +4201,9 @@
8.4 <stateType key="Disabled"/>
8.5 <stateType key="Focused"/>
8.6 <stateType key="Editable">
8.7 - <codeSnippet><![CDATA[
8.8 - return ((JComboBox)c).isEditable();]]></codeSnippet>
8.9 + <codeSnippet><![CDATA[
8.10 + return c instanceof JComboBox && ((JComboBox)c).isEditable();
8.11 + ]]></codeSnippet>
8.12 </stateType>
8.13 </stateTypes>
8.14 <contentMargins top="0" bottom="0" left="0" right="0"/>
8.15 @@ -16160,12 +16161,14 @@
8.16 <stateType key="Disabled"/>
8.17 <stateType key="Indeterminate">
8.18 <codeSnippet><![CDATA[
8.19 - return ((JProgressBar)c).isIndeterminate();
8.20 + return c instanceof JProgressBar &&
8.21 + ((JProgressBar)c).isIndeterminate();
8.22 ]]></codeSnippet>
8.23 </stateType>
8.24 <stateType key="Finished">
8.25 <codeSnippet><![CDATA[
8.26 - return ((JProgressBar)c).getPercentComplete() == 1.0;
8.27 + return c instanceof JProgressBar &&
8.28 + ((JProgressBar)c).getPercentComplete() == 1.0;
8.29 ]]></codeSnippet>
8.30 </stateType>
8.31 </stateTypes>
8.32 @@ -25845,26 +25848,26 @@
8.33 <stateTypes>
8.34 <stateType key="North">
8.35 <codeSnippet><![CDATA[
8.36 - JToolBar toolbar = (JToolBar)c;
8.37 - return NimbusLookAndFeel.resolveToolbarConstraint(toolbar) == BorderLayout.NORTH;
8.38 + return (c instanceof JToolBar) &&
8.39 + NimbusLookAndFeel.resolveToolbarConstraint((JToolBar)c) == BorderLayout.NORTH;
8.40 ]]></codeSnippet>
8.41 </stateType>
8.42 <stateType key="East">
8.43 <codeSnippet><![CDATA[
8.44 - JToolBar toolbar = (JToolBar)c;
8.45 - return NimbusLookAndFeel.resolveToolbarConstraint(toolbar) == BorderLayout.EAST;
8.46 + return (c instanceof JToolBar) &&
8.47 + NimbusLookAndFeel.resolveToolbarConstraint((JToolBar)c) == BorderLayout.EAST;
8.48 ]]></codeSnippet>
8.49 </stateType>
8.50 <stateType key="West">
8.51 <codeSnippet><![CDATA[
8.52 - JToolBar toolbar = (JToolBar)c;
8.53 - return NimbusLookAndFeel.resolveToolbarConstraint(toolbar) == BorderLayout.WEST;
8.54 + return (c instanceof JToolBar) &&
8.55 + NimbusLookAndFeel.resolveToolbarConstraint((JToolBar)c) == BorderLayout.WEST;
8.56 ]]></codeSnippet>
8.57 </stateType>
8.58 <stateType key="South">
8.59 <codeSnippet><![CDATA[
8.60 - JToolBar toolbar = (JToolBar)c;
8.61 - return NimbusLookAndFeel.resolveToolbarConstraint(toolbar) == BorderLayout.SOUTH;
8.62 + return (c instanceof JToolBar) &&
8.63 + NimbusLookAndFeel.resolveToolbarConstraint((JToolBar)c) == BorderLayout.SOUTH;
8.64 ]]></codeSnippet>
8.65 </stateType>
8.66 </stateTypes>
9.1 --- a/src/share/classes/sun/awt/shell/ShellFolder.java Mon Jun 01 01:05:22 2009 -0700
9.2 +++ b/src/share/classes/sun/awt/shell/ShellFolder.java Mon Jun 01 01:06:28 2009 -0700
9.3 @@ -274,45 +274,61 @@
9.4
9.5 // Override File methods
9.6
9.7 - public static void sort(List<? extends File> files) {
9.8 + public static void sort(final List<? extends File> files) {
9.9 if (files == null || files.size() <= 1) {
9.10 return;
9.11 }
9.12
9.13 - // Check that we can use the ShellFolder.sortChildren() method:
9.14 - // 1. All files have the same non-null parent
9.15 - // 2. All files is ShellFolders
9.16 - File commonParent = null;
9.17 + // To avoid loads of synchronizations with Invoker and improve performance we
9.18 + // synchronize the whole code of the sort method once
9.19 + getInvoker().invoke(new Callable<Void>() {
9.20 + public Void call() throws Exception {
9.21 + // Check that we can use the ShellFolder.sortChildren() method:
9.22 + // 1. All files have the same non-null parent
9.23 + // 2. All files is ShellFolders
9.24 + File commonParent = null;
9.25
9.26 - for (File file : files) {
9.27 - File parent = file.getParentFile();
9.28 + for (File file : files) {
9.29 + File parent = file.getParentFile();
9.30
9.31 - if (parent == null || !(file instanceof ShellFolder)) {
9.32 - commonParent = null;
9.33 + if (parent == null || !(file instanceof ShellFolder)) {
9.34 + commonParent = null;
9.35
9.36 - break;
9.37 + break;
9.38 + }
9.39 +
9.40 + if (commonParent == null) {
9.41 + commonParent = parent;
9.42 + } else {
9.43 + if (commonParent != parent && !commonParent.equals(parent)) {
9.44 + commonParent = null;
9.45 +
9.46 + break;
9.47 + }
9.48 + }
9.49 + }
9.50 +
9.51 + if (commonParent instanceof ShellFolder) {
9.52 + ((ShellFolder) commonParent).sortChildren(files);
9.53 + } else {
9.54 + Collections.sort(files, FILE_COMPARATOR);
9.55 + }
9.56 +
9.57 + return null;
9.58 }
9.59 -
9.60 - if (commonParent == null) {
9.61 - commonParent = parent;
9.62 - } else {
9.63 - if (commonParent != parent && !commonParent.equals(parent)) {
9.64 - commonParent = null;
9.65 -
9.66 - break;
9.67 - }
9.68 - }
9.69 - }
9.70 -
9.71 - if (commonParent instanceof ShellFolder) {
9.72 - ((ShellFolder) commonParent).sortChildren(files);
9.73 - } else {
9.74 - Collections.sort(files, FILE_COMPARATOR);
9.75 - }
9.76 + });
9.77 }
9.78
9.79 - public void sortChildren(List<? extends File> files) {
9.80 - Collections.sort(files, FILE_COMPARATOR);
9.81 + public void sortChildren(final List<? extends File> files) {
9.82 + // To avoid loads of synchronizations with Invoker and improve performance we
9.83 + // synchronize the whole code of the sort method once
9.84 + getInvoker().invoke(new Callable<Void>() {
9.85 + public Void call() throws Exception {
9.86 + Collections.sort(files, FILE_COMPARATOR);
9.87 +
9.88 + return null;
9.89 + }
9.90 + });
9.91 }
9.92
9.93 public boolean isAbsolute() {
10.1 --- a/src/share/classes/sun/swing/plaf/GTKKeybindings.java Mon Jun 01 01:05:22 2009 -0700
10.2 +++ b/src/share/classes/sun/swing/plaf/GTKKeybindings.java Mon Jun 01 01:06:28 2009 -0700
10.3 @@ -402,6 +402,11 @@
10.4 "released SPACE", "released",
10.5 "RETURN", "pressed"
10.6 }),
10.7 + "RootPane.ancestorInputMap",
10.8 + new UIDefaults.LazyInputMap(new Object[]{
10.9 + "shift F10", "postPopup",
10.10 + "CONTEXT_MENU", "postPopup"
10.11 + }),
10.12 // These bindings are only enabled when there is a default
10.13 // button set on the rootpane.
10.14 "RootPane.defaultButtonWindowKeyBindings", new Object[]{
11.1 --- a/src/share/classes/sun/swing/plaf/WindowsKeybindings.java Mon Jun 01 01:05:22 2009 -0700
11.2 +++ b/src/share/classes/sun/swing/plaf/WindowsKeybindings.java Mon Jun 01 01:06:28 2009 -0700
11.3 @@ -360,6 +360,11 @@
11.4 "DOWN", "decrement",
11.5 "KP_DOWN", "decrement",
11.6 }),
11.7 + "RootPane.ancestorInputMap",
11.8 + new UIDefaults.LazyInputMap(new Object[]{
11.9 + "shift F10", "postPopup",
11.10 + "CONTEXT_MENU", "postPopup"
11.11 + }),
11.12 // These bindings are only enabled when there is a default
11.13 // button set on the rootpane.
11.14 "RootPane.defaultButtonWindowKeyBindings", new Object[]{
12.1 --- a/src/share/classes/sun/util/resources/TimeZoneNames.java Mon Jun 01 01:05:22 2009 -0700
12.2 +++ b/src/share/classes/sun/util/resources/TimeZoneNames.java Mon Jun 01 01:06:28 2009 -0700
12.3 @@ -171,6 +171,8 @@
12.4 "Truk Summer Time", "TRUST"};
12.5 String ULAT[]= new String[] {"Ulaanbaatar Time", "ULAT",
12.6 "Ulaanbaatar Summer Time", "ULAST"};
12.7 + String WART[] = new String[] {"Western Argentine Time", "WART",
12.8 + "Western Argentine Summer Time", "WARST"};
12.9 String WAT[] = new String[] {"Western African Time", "WAT",
12.10 "Western African Summer Time", "WAST"};
12.11 String WET[] = new String[] {"Western European Time", "WET",
12.12 @@ -296,7 +298,7 @@
12.13 {"America/Argentina/Rio_Gallegos", AGT},
12.14 {"America/Argentina/Salta", AGT},
12.15 {"America/Argentina/San_Juan", AGT},
12.16 - {"America/Argentina/San_Luis", AGT},
12.17 + {"America/Argentina/San_Luis", WART},
12.18 {"America/Argentina/Tucuman", AGT},
12.19 {"America/Argentina/Ushuaia", AGT},
12.20 {"America/Aruba", AST},
13.1 --- a/src/share/classes/sun/util/resources/TimeZoneNames_de.java Mon Jun 01 01:05:22 2009 -0700
13.2 +++ b/src/share/classes/sun/util/resources/TimeZoneNames_de.java Mon Jun 01 01:06:28 2009 -0700
13.3 @@ -171,6 +171,8 @@
13.4 "Truk Sommerzeit", "TRUST"};
13.5 String ULAT[]= new String[] {"Ulaanbaatar Zeit", "ULAT",
13.6 "Ulaanbaatar Sommerzeit", "ULAST"};
13.7 + String WART[] = new String[] {"Argentinische Zeit", "WART",
13.8 + "Argentinische Sommerzeit", "WARST"};
13.9 String WAT[] = new String[] {"Westafrikanische Zeit", "WAT",
13.10 "Westafrikanische Sommerzeit", "WAST"};
13.11 String WET[] = new String[] {"Westeurop\u00e4ische Zeit", "WET",
13.12 @@ -296,7 +298,7 @@
13.13 {"America/Argentina/Rio_Gallegos", AGT},
13.14 {"America/Argentina/Salta", AGT},
13.15 {"America/Argentina/San_Juan", AGT},
13.16 - {"America/Argentina/San_Luis", AGT},
13.17 + {"America/Argentina/San_Luis", WART},
13.18 {"America/Argentina/Tucuman", AGT},
13.19 {"America/Argentina/Ushuaia", AGT},
13.20 {"America/Aruba", AST},
14.1 --- a/src/share/classes/sun/util/resources/TimeZoneNames_es.java Mon Jun 01 01:05:22 2009 -0700
14.2 +++ b/src/share/classes/sun/util/resources/TimeZoneNames_es.java Mon Jun 01 01:06:28 2009 -0700
14.3 @@ -171,6 +171,8 @@
14.4 "Hora de verano de Truk", "TRUST"};
14.5 String ULAT[]= new String[] {"Hora de Ulan Bator", "ULAT",
14.6 "Hora de verano de Ulan Bator", "ULAST"};
14.7 + String WART[] = new String[] {"Hora de Argentina", "WART",
14.8 + "Hora de verano de Argentina", "WARST"};
14.9 String WAT[] = new String[] {"Hora de \u00c1frica Occidental", "WAT",
14.10 "Hora de verano de \u00c1frica Occidental", "WAST"};
14.11 String WET[] = new String[] {"Hora de Europa Occidental", "WET",
14.12 @@ -296,7 +298,7 @@
14.13 {"America/Argentina/Rio_Gallegos", AGT},
14.14 {"America/Argentina/Salta", AGT},
14.15 {"America/Argentina/San_Juan", AGT},
14.16 - {"America/Argentina/San_Luis", AGT},
14.17 + {"America/Argentina/San_Luis", WART},
14.18 {"America/Argentina/Tucuman", AGT},
14.19 {"America/Argentina/Ushuaia", AGT},
14.20 {"America/Aruba", AST},
15.1 --- a/src/share/classes/sun/util/resources/TimeZoneNames_fr.java Mon Jun 01 01:05:22 2009 -0700
15.2 +++ b/src/share/classes/sun/util/resources/TimeZoneNames_fr.java Mon Jun 01 01:06:28 2009 -0700
15.3 @@ -171,6 +171,8 @@
15.4 "Heure d'\u00e9t\u00e9 de Truk", "TRUST"};
15.5 String ULAT[]= new String[] {"Heure de l'Ulaanbaatar", "ULAT",
15.6 "Heure d'\u00e9t\u00e9 de l'Ulaanbaatar", "ULAST"} ;
15.7 + String WART[] = new String[] {"Heure D'Argentine", "WART",
15.8 + "Heure d'\u00e9t\u00e9 D'Argentine", "WARST"} ;
15.9 String WAT[] = new String[] {"Heure d'Afrique de l'Ouest", "WAT",
15.10 "Heure d'\u00e9t\u00e9 d'Afrique de l'Ouest", "WAST"} ;
15.11 String WET[] = new String[] {"Heure d'Europe de l'Ouest", "WET",
15.12 @@ -296,7 +298,7 @@
15.13 {"America/Argentina/Rio_Gallegos", AGT},
15.14 {"America/Argentina/Salta", AGT},
15.15 {"America/Argentina/San_Juan", AGT},
15.16 - {"America/Argentina/San_Luis", AGT},
15.17 + {"America/Argentina/San_Luis", WART},
15.18 {"America/Argentina/Tucuman", AGT},
15.19 {"America/Argentina/Ushuaia", AGT},
15.20 {"America/Aruba", AST},
16.1 --- a/src/share/classes/sun/util/resources/TimeZoneNames_it.java Mon Jun 01 01:05:22 2009 -0700
16.2 +++ b/src/share/classes/sun/util/resources/TimeZoneNames_it.java Mon Jun 01 01:06:28 2009 -0700
16.3 @@ -171,6 +171,8 @@
16.4 "Ora estiva di Truk", "TRUST"};
16.5 String ULAT[]= new String[] {"Ora di Ulaanbaatar", "ULAT",
16.6 "Ora estiva di Ulaanbaatar", "ULAST"};
16.7 + String WART[] = new String[] {"Ora dell'Argentina", "WART",
16.8 + "Ora estiva dell'Argentina", "WARST"};
16.9 String WAT[] = new String[] {"Ora dell'Africa occidentale", "WAT",
16.10 "Ora estiva dell'Africa occidentale", "WAST"};
16.11 String WET[] = new String[] {"Ora dell'Europa occidentale", "WET",
16.12 @@ -296,7 +298,7 @@
16.13 {"America/Argentina/Rio_Gallegos", AGT},
16.14 {"America/Argentina/Salta", AGT},
16.15 {"America/Argentina/San_Juan", AGT},
16.16 - {"America/Argentina/San_Luis", AGT},
16.17 + {"America/Argentina/San_Luis", WART},
16.18 {"America/Argentina/Tucuman", AGT},
16.19 {"America/Argentina/Ushuaia", AGT},
16.20 {"America/Aruba", AST},
17.1 --- a/src/share/classes/sun/util/resources/TimeZoneNames_ja.java Mon Jun 01 01:05:22 2009 -0700
17.2 +++ b/src/share/classes/sun/util/resources/TimeZoneNames_ja.java Mon Jun 01 01:06:28 2009 -0700
17.3 @@ -171,6 +171,8 @@
17.4 "\u30c8\u30e9\u30c3\u30af\u590f\u6642\u9593", "TRUST"};
17.5 String ULAT[]= new String[] {"\u30a6\u30e9\u30fc\u30f3\u30d0\u30fc\u30c8\u30eb\u6642\u9593", "ULAT",
17.6 "\u30a6\u30e9\u30fc\u30f3\u30d0\u30fc\u30c8\u30eb\u590f\u6642\u9593", "ULAST"};
17.7 + String WART[] = new String[] {"\u30a2\u30eb\u30bc\u30f3\u30c1\u30f3\u6642\u9593", "WART",
17.8 + "\u30a2\u30eb\u30bc\u30f3\u30c1\u30f3\u590f\u6642\u9593", "WARST"};
17.9 String WAT[] = new String[] {"\u897f\u30a2\u30d5\u30ea\u30ab\u6642\u9593", "WAT",
17.10 "\u897f\u30a2\u30d5\u30ea\u30ab\u590f\u6642\u9593", "WAST"};
17.11 String WET[] = new String[] {"\u897f\u30e8\u30fc\u30ed\u30c3\u30d1\u6642\u9593", "WET",
17.12 @@ -296,7 +298,7 @@
17.13 {"America/Argentina/Rio_Gallegos", AGT},
17.14 {"America/Argentina/Salta", AGT},
17.15 {"America/Argentina/San_Juan", AGT},
17.16 - {"America/Argentina/San_Luis", AGT},
17.17 + {"America/Argentina/San_Luis", WART},
17.18 {"America/Argentina/Tucuman", AGT},
17.19 {"America/Argentina/Ushuaia", AGT},
17.20 {"America/Aruba", AST},
18.1 --- a/src/share/classes/sun/util/resources/TimeZoneNames_ko.java Mon Jun 01 01:05:22 2009 -0700
18.2 +++ b/src/share/classes/sun/util/resources/TimeZoneNames_ko.java Mon Jun 01 01:06:28 2009 -0700
18.3 @@ -171,6 +171,8 @@
18.4 "\ud2b8\ub8e8\ud06c \uc77c\uad11\uc808\uc57d\uc2dc\uac04", "TRUST"};
18.5 String ULAT[]= new String[] {"\uc6b8\ub780\ubc14\ud0c0\ub974 \uc2dc\uac04", "ULAT",
18.6 "\uc6b8\ub780\ubc14\ud0c0\ub974 \uc77c\uad11\uc808\uc57d\uc2dc\uac04", "ULAST"};
18.7 + String WART[] = new String[] {"\uc544\ub974\ud5e8\ud2f0\ub098 \uc2dc\uac04", "WART",
18.8 + "\uc544\ub974\ud5e8\ud2f0\ub098 \uc77c\uad11\uc808\uc57d\uc2dc\uac04", "WARST"};
18.9 String WAT[] = new String[] {"\uc11c\ubd80 \uc544\ud504\ub9ac\uce74 \uc2dc\uac04", "WAT",
18.10 "\uc11c\ubd80 \uc544\ud504\ub9ac\uce74 \uc77c\uad11\uc808\uc57d\uc2dc\uac04", "WAST"};
18.11 String WET[] = new String[] {"\uc11c\uc720\ub7fd \uc2dc\uac04", "WET",
18.12 @@ -296,7 +298,7 @@
18.13 {"America/Argentina/Rio_Gallegos", AGT},
18.14 {"America/Argentina/Salta", AGT},
18.15 {"America/Argentina/San_Juan", AGT},
18.16 - {"America/Argentina/San_Luis", AGT},
18.17 + {"America/Argentina/San_Luis", WART},
18.18 {"America/Argentina/Tucuman", AGT},
18.19 {"America/Argentina/Ushuaia", AGT},
18.20 {"America/Aruba", AST},
19.1 --- a/src/share/classes/sun/util/resources/TimeZoneNames_sv.java Mon Jun 01 01:05:22 2009 -0700
19.2 +++ b/src/share/classes/sun/util/resources/TimeZoneNames_sv.java Mon Jun 01 01:06:28 2009 -0700
19.3 @@ -171,6 +171,8 @@
19.4 "Truk, sommartid", "TRUST"};
19.5 String ULAT[]= new String[] {"Ulaanbaatar, normaltid", "ULAT",
19.6 "Ulaanbaatar, sommartid", "ULAST"};
19.7 + String WART[] = new String[] {"Argentina, normaltid", "WART",
19.8 + "Argentina, sommartid", "WARST"};
19.9 String WAT[] = new String[] {"V\u00e4stafrikansk tid", "WAT",
19.10 "V\u00e4stafrikansk sommartid", "WAST"};
19.11 String WET[] = new String[] {"V\u00e4steuropeisk tid", "WET",
19.12 @@ -296,7 +298,7 @@
19.13 {"America/Argentina/Rio_Gallegos", AGT},
19.14 {"America/Argentina/Salta", AGT},
19.15 {"America/Argentina/San_Juan", AGT},
19.16 - {"America/Argentina/San_Luis", AGT},
19.17 + {"America/Argentina/San_Luis", WART},
19.18 {"America/Argentina/Tucuman", AGT},
19.19 {"America/Argentina/Ushuaia", AGT},
19.20 {"America/Aruba", AST},
20.1 --- a/src/share/classes/sun/util/resources/TimeZoneNames_zh_CN.java Mon Jun 01 01:05:22 2009 -0700
20.2 +++ b/src/share/classes/sun/util/resources/TimeZoneNames_zh_CN.java Mon Jun 01 01:06:28 2009 -0700
20.3 @@ -171,6 +171,8 @@
20.4 "\u7279\u9c81\u514b\u590f\u4ee4\u65f6", "TRUST"};
20.5 String ULAT[]= new String[] {"\u5e93\u4f26\u65f6\u95f4", "ULAT",
20.6 "\u5e93\u4f26\u590f\u4ee4\u65f6", "ULAST"};
20.7 + String WART[] = new String[] {"\u963f\u6839\u5ef7\u65f6\u95f4", "WART",
20.8 + "\u963f\u6839\u5ef7\u590f\u4ee4\u65f6", "WARST"};
20.9 String WAT[] = new String[] {"\u897f\u975e\u65f6\u95f4", "WAT",
20.10 "\u897f\u975e\u590f\u4ee4\u65f6", "WAST"};
20.11 String WET[] = new String[] {"\u897f\u6b27\u65f6\u95f4", "WET",
20.12 @@ -296,7 +298,7 @@
20.13 {"America/Argentina/Rio_Gallegos", AGT},
20.14 {"America/Argentina/Salta", AGT},
20.15 {"America/Argentina/San_Juan", AGT},
20.16 - {"America/Argentina/San_Luis", AGT},
20.17 + {"America/Argentina/San_Luis", WART},
20.18 {"America/Argentina/Tucuman", AGT},
20.19 {"America/Argentina/Ushuaia", AGT},
20.20 {"America/Aruba", AST},
21.1 --- a/src/share/classes/sun/util/resources/TimeZoneNames_zh_TW.java Mon Jun 01 01:05:22 2009 -0700
21.2 +++ b/src/share/classes/sun/util/resources/TimeZoneNames_zh_TW.java Mon Jun 01 01:06:28 2009 -0700
21.3 @@ -171,6 +171,8 @@
21.4 "\u7279\u9b6f\u514b\u590f\u4ee4\u6642\u9593", "TRUST"};
21.5 String ULAT[]= new String[] {"\u5eab\u502b\u6642\u9593", "ULAT",
21.6 "\u5eab\u502b\u590f\u4ee4\u6642\u9593", "ULAST"};
21.7 + String WART[] = new String[] {"\u963f\u6839\u5ef7\u6642\u9593", "WART",
21.8 + "\u963f\u6839\u5ef7\u590f\u4ee4\u6642\u9593", "WARST"};
21.9 String WAT[] = new String[] {"\u897f\u975e\u6642\u9593", "WAT",
21.10 "\u897f\u975e\u590f\u4ee4\u6642\u9593", "WAST"};
21.11 String WET[] = new String[] {"\u897f\u6b50\u6642\u9593", "WET",
21.12 @@ -296,7 +298,7 @@
21.13 {"America/Argentina/Rio_Gallegos", AGT},
21.14 {"America/Argentina/Salta", AGT},
21.15 {"America/Argentina/San_Juan", AGT},
21.16 - {"America/Argentina/San_Luis", AGT},
21.17 + {"America/Argentina/San_Luis", WART},
21.18 {"America/Argentina/Tucuman", AGT},
21.19 {"America/Argentina/Ushuaia", AGT},
21.20 {"America/Aruba", AST},
22.1 --- a/src/windows/classes/sun/awt/shell/Win32ShellFolder2.java Mon Jun 01 01:05:22 2009 -0700
22.2 +++ b/src/windows/classes/sun/awt/shell/Win32ShellFolder2.java Mon Jun 01 01:06:28 2009 -0700
22.3 @@ -527,7 +527,7 @@
22.4 /**
22.5 * @return Whether this is a file system shell folder
22.6 */
22.7 - public synchronized boolean isFileSystem() {
22.8 + public boolean isFileSystem() {
22.9 if (cachedIsFileSystem == null) {
22.10 cachedIsFileSystem = hasAttribute(ATTRIB_FILESYSTEM);
22.11 }
22.12 @@ -543,8 +543,8 @@
22.13 public Boolean call() throws Exception {
22.14 // Caching at this point doesn't seem to be cost efficient
22.15 return (getAttributes0(getParentIShellFolder(),
22.16 - getRelativePIDL(), attribute)
22.17 - & attribute) != 0;
22.18 + getRelativePIDL(), attribute)
22.19 + & attribute) != 0;
22.20 }
22.21 });
22.22 }
22.23 @@ -761,7 +761,7 @@
22.24 /**
22.25 * @return Whether this shell folder is a link
22.26 */
22.27 - public synchronized boolean isLink() {
22.28 + public boolean isLink() {
22.29 if (cachedIsLink == null) {
22.30 cachedIsLink = hasAttribute(ATTRIB_LINK);
22.31 }
22.32 @@ -1160,8 +1160,16 @@
22.33 private static native int compareIDsByColumn(long pParentIShellFolder, long pidl1, long pidl2, int columnIdx);
22.34
22.35
22.36 - public void sortChildren(List<? extends File> files) {
22.37 - Collections.sort(files, new ColumnComparator(getIShellFolder(), 0));
22.38 + public void sortChildren(final List<? extends File> files) {
22.39 + // To avoid loads of synchronizations with Invoker and improve performance we
22.40 + // synchronize the whole code of the sort method once
22.41 + getInvoker().invoke(new Callable<Void>() {
22.42 + public Void call() throws Exception {
22.43 + Collections.sort(files, new ColumnComparator(getIShellFolder(), 0));
22.44 +
22.45 + return null;
22.46 + }
22.47 + });
22.48 }
22.49
22.50 private static class ColumnComparator implements Comparator<File> {
23.1 --- a/src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java Mon Jun 01 01:05:22 2009 -0700
23.2 +++ b/src/windows/classes/sun/awt/shell/Win32ShellFolderManager2.java Mon Jun 01 01:06:28 2009 -0700
23.3 @@ -478,21 +478,22 @@
23.4
23.5 public <T> T invoke(Callable<T> task) {
23.6 try {
23.7 - T result;
23.8 if (Thread.currentThread() == comThread) {
23.9 // if it's already called from the COM
23.10 // thread, we don't need to delegate the task
23.11 - result = task.call();
23.12 + return task.call();
23.13 } else {
23.14 - Future<T> future = submit(task);
23.15 - try {
23.16 - result = future.get();
23.17 - } catch (InterruptedException e) {
23.18 - result = null;
23.19 - future.cancel(true);
23.20 + while (true) {
23.21 + Future<T> future = submit(task);
23.22 +
23.23 + try {
23.24 + return future.get();
23.25 + } catch (InterruptedException e) {
23.26 + // Repeat the attempt
23.27 + future.cancel(true);
23.28 + }
23.29 }
23.30 }
23.31 - return result;
23.32 } catch (Exception e) {
23.33 Throwable cause = (e instanceof ExecutionException) ? e.getCause() : e;
23.34 if (cause instanceof RuntimeException) {
24.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
24.2 +++ b/test/javax/swing/JFileChooser/6713352/bug6713352.java Mon Jun 01 01:06:28 2009 -0700
24.3 @@ -0,0 +1,105 @@
24.4 +/*
24.5 + * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
24.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
24.7 + *
24.8 + * This code is free software; you can redistribute it and/or modify it
24.9 + * under the terms of the GNU General Public License version 2 only, as
24.10 + * published by the Free Software Foundation.
24.11 + *
24.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
24.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
24.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
24.15 + * version 2 for more details (a copy is included in the LICENSE file that
24.16 + * accompanied this code).
24.17 + *
24.18 + * You should have received a copy of the GNU General Public License version
24.19 + * 2 along with this work; if not, write to the Free Software Foundation,
24.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
24.21 + *
24.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
24.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
24.24 + * have any questions.
24.25 + */
24.26 +
24.27 +/* @test
24.28 + @bug 6713352
24.29 + @summary Deadlock in JFileChooser with synchronized custom FileSystemView
24.30 + @author Pavel Porvatov
24.31 + @run main bug6713352
24.32 +*/
24.33 +
24.34 +import sun.awt.shell.ShellFolder;
24.35 +
24.36 +import javax.swing.*;
24.37 +import javax.swing.filechooser.FileSystemView;
24.38 +import java.io.File;
24.39 +import java.io.FileNotFoundException;
24.40 +import java.io.IOException;
24.41 +
24.42 +public class bug6713352 {
24.43 + public static void main(String[] args) throws Exception {
24.44 + SwingUtilities.invokeAndWait(new Runnable() {
24.45 + public void run() {
24.46 + String tempDir = System.getProperty("java.io.tmpdir");
24.47 +
24.48 + if (tempDir == null || !new File(tempDir).isDirectory()) {
24.49 + tempDir = System.getProperty("user.home");
24.50 + }
24.51 +
24.52 + MyFileSystemView systemView = new MyFileSystemView();
24.53 +
24.54 + synchronized (systemView) { // Get SystemView lock
24.55 + new JFileChooser(systemView);
24.56 +
24.57 + // Wait a little bit. BasicDirectoryModel will lock Invoker and stop on
24.58 + // the bug6713352.MyFileSystemView.getFiles() method
24.59 + try {
24.60 + Thread.sleep(5000);
24.61 + } catch (InterruptedException e) {
24.62 + throw new RuntimeException(e);
24.63 + }
24.64 +
24.65 + try {
24.66 + System.out.println("Try to get Invokers lock");
24.67 +
24.68 + ShellFolder.getShellFolder(new File(tempDir)).listFiles(true);
24.69 + } catch (FileNotFoundException e) {
24.70 + throw new RuntimeException(e);
24.71 + }
24.72 + }
24.73 +
24.74 + // To avoid RejectedExecutionException in BasicDirectoryModel wait a second
24.75 + try {
24.76 + Thread.sleep(1000);
24.77 + } catch (InterruptedException e) {
24.78 + throw new RuntimeException(e);
24.79 + }
24.80 + }
24.81 + });
24.82 + }
24.83 +
24.84 + private static class MyFileSystemView extends FileSystemView {
24.85 +
24.86 + public File createNewFolder(File containingDir) throws IOException {
24.87 + return null;
24.88 + }
24.89 +
24.90 + public File[] getFiles(File dir, boolean useFileHiding) {
24.91 + System.out.println("getFiles start");
24.92 +
24.93 + File[] result;
24.94 +
24.95 + synchronized (this) {
24.96 + result = super.getFiles(dir, useFileHiding);
24.97 + }
24.98 +
24.99 + System.out.println("getFiles finished");
24.100 +
24.101 + return result;
24.102 + }
24.103 +
24.104 + public synchronized Boolean isTraversable(File f) {
24.105 + return super.isTraversable(f);
24.106 + }
24.107 + }
24.108 +}
25.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
25.2 +++ b/test/javax/swing/plaf/nimbus/Test6741426.java Mon Jun 01 01:06:28 2009 -0700
25.3 @@ -0,0 +1,55 @@
25.4 +/*
25.5 + * Copyright 2008 Sun Microsystems, Inc. All Rights Reserved.
25.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
25.7 + *
25.8 + * This code is free software; you can redistribute it and/or modify it
25.9 + * under the terms of the GNU General Public License version 2 only, as
25.10 + * published by the Free Software Foundation.
25.11 + *
25.12 + * This code is distributed in the hope that it will be useful, but WITHOUT
25.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
25.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
25.15 + * version 2 for more details (a copy is included in the LICENSE file that
25.16 + * accompanied this code).
25.17 + *
25.18 + * You should have received a copy of the GNU General Public License version
25.19 + * 2 along with this work; if not, write to the Free Software Foundation,
25.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
25.21 + *
25.22 + * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
25.23 + * CA 95054 USA or visit www.sun.com if you need additional information or
25.24 + * have any questions.
25.25 + */
25.26 +
25.27 +/* @test
25.28 + @bug 6741426
25.29 + @summary Tests reusing Nimbus borders across different components (JComboBox border set on a JTextField)
25.30 + @author Peter Zhelezniakov
25.31 + @run main Test6741426
25.32 +*/
25.33 +
25.34 +import com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel;
25.35 +import javax.swing.*;
25.36 +import java.awt.image.BufferedImage;
25.37 +
25.38 +
25.39 +public class Test6741426 implements Runnable {
25.40 +
25.41 + static final int WIDTH = 160;
25.42 + static final int HEIGHT = 80;
25.43 +
25.44 + @Override public void run() {
25.45 + JComboBox cb = new JComboBox();
25.46 + JTextField tf = new JTextField();
25.47 + tf.setBorder(cb.getBorder());
25.48 + BufferedImage img =
25.49 + new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_ARGB);
25.50 + tf.setSize(WIDTH, HEIGHT);
25.51 + tf.paint(img.getGraphics());
25.52 + }
25.53 +
25.54 + public static void main(String[] args) throws Exception {
25.55 + UIManager.setLookAndFeel(new NimbusLookAndFeel());
25.56 + SwingUtilities.invokeAndWait(new Test6741426());
25.57 + }
25.58 +}