The Eclipse code uses regex to form a list of file names to perform operations such as rename or search upon. The code to do this starts by creating a set of reusable matchers created with an empty string, Then whenever it needs to do a regex match, it resets the string via the reset() method. This does not work under classpath, but does work under the Sun JDK. A simple testcase tested on i686 FC6 is attached.
Created attachment 12544 [details] Test case displaying problem.
Resetting the instance variable this.inputCharIndexed = RE.makeCharIndexed(input, 0); has been missing in the metod reset(CharSequence input). I will fix it ASAP.
Subject: Bug 29703 CVSROOT: /cvsroot/classpath Module name: classpath Changes by: Ito Kazumitsu <itokaz> 06/11/06 16:45:48 Modified files: . : ChangeLog java/util/regex: Matcher.java Log message: 2006-11-06 Ito Kazumitsu <kaz@maczuka.gcd.org> Fixes bug #29703 * java/util/regex/Matcher.java(reset): Reset inputCharIndexed. CVSWeb URLs: http://cvs.savannah.gnu.org/viewcvs/classpath/ChangeLog?cvsroot=classpath&r1=1.8759&r2=1.8760 http://cvs.savannah.gnu.org/viewcvs/classpath/java/util/regex/Matcher.java?cvsroot=classpath&r1=1.18&r2=1.19
Fixed.