### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: search/org/eclipse/jdt/internal/core/search/StringOperation.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/StringOperation.java,v retrieving revision 1.2 diff -u -r1.2 StringOperation.java --- search/org/eclipse/jdt/internal/core/search/StringOperation.java 13 Feb 2009 12:52:22 -0000 1.2 +++ search/org/eclipse/jdt/internal/core/search/StringOperation.java 13 Feb 2009 14:08:15 -0000 @@ -361,7 +361,11 @@ break; } } else { - if (patternChar != (isCaseSensitive ? name.charAt(iName) : ScannerHelper.toLowerCase(name.charAt(iName)))) { + if (isCaseSensitive) { + if (patternChar != name.charAt(iName)) { + return null; + } + } else if (ScannerHelper.toLowerCase(patternChar) != ScannerHelper.toLowerCase(name.charAt(iName))) { return null; } switch (previous) { @@ -446,7 +450,13 @@ break; } } else { - if ((isCaseSensitive ? name.charAt(iName) : ScannerHelper.toLowerCase(name.charAt(iName))) != patternChar) { + boolean mismatch; + if (isCaseSensitive) { + mismatch = name.charAt(iName) != patternChar; + } else { + mismatch = ScannerHelper.toLowerCase(name.charAt(iName)) != ScannerHelper.toLowerCase(patternChar); + } + if (mismatch) { iPattern = segmentStart; // mismatch - restart current segment iName = ++prefixStart; start = prefixStart; #P org.eclipse.jdt.core.tests.model Index: src/org/eclipse/jdt/core/tests/model/MatchingRegionsTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/MatchingRegionsTest.java,v retrieving revision 1.2 diff -u -r1.2 MatchingRegionsTest.java Binary files /tmp/cvsHUcG1b and MatchingRegionsTest.java differ