jdk/src/share/classes/java/lang/String.java
changeset 2497 903fd9d785ef
parent 2 90ce3da70b43
child 3617 422105639b62
--- a/jdk/src/share/classes/java/lang/String.java	Tue Apr 07 12:40:58 2009 +0400
+++ b/jdk/src/share/classes/java/lang/String.java	Fri Apr 10 11:51:36 2009 +0900
@@ -2451,14 +2451,21 @@
             }
             if (localeDependent || srcChar == '\u03A3') { // GREEK CAPITAL LETTER SIGMA
                 lowerChar = ConditionalSpecialCasing.toLowerCaseEx(this, i, locale);
+            } else if (srcChar == '\u0130') { // LATIN CAPITAL LETTER I DOT
+                lowerChar = Character.ERROR;
             } else {
                 lowerChar = Character.toLowerCase(srcChar);
             }
             if ((lowerChar == Character.ERROR) ||
                 (lowerChar >= Character.MIN_SUPPLEMENTARY_CODE_POINT)) {
                 if (lowerChar == Character.ERROR) {
-                    lowerCharArray =
-                        ConditionalSpecialCasing.toLowerCaseCharArray(this, i, locale);
+                     if (!localeDependent && srcChar == '\u0130') {
+                         lowerCharArray =
+                             ConditionalSpecialCasing.toLowerCaseCharArray(this, i, Locale.ENGLISH);
+                     } else {
+                        lowerCharArray =
+                            ConditionalSpecialCasing.toLowerCaseCharArray(this, i, locale);
+                     }
                 } else if (srcCount == 2) {
                     resultOffset += Character.toChars(lowerChar, result, i + resultOffset) - srcCount;
                     continue;