In message <[EMAIL PROTECTED]>, George Hart writes:
>       System.out.println(perl.match("/^[\\w-._]+\\@[\\w-._]+$/",str));

Yes, this is a bug.  Change the expression to  "/^[-\\w._]+\\@[-\\w._]+$/"
or "/^[\\w\\-._]+\\@[\\w\\-._]+$/" in the interim.  Takashi's unicode
character class patch introduced the problem; understandably so, because
my __parseCharacterClass() code he based __parseUnicodeClass() on is not
easy to follow.

Anyone want to volunteer to submit some regression tests?  The
problem was obvious when I looked at the code knowing the symptom, but
not when I applied the patch.  It's embarassing to have allowed a
regression like this to linger this long.  I haven't had time to port
the old ORO test suite and have really been hoping someone would step
up to offer some well-designed regression tests.  In any case, I fixed
the bug in CVS.  There's nothing unstable currently in the latest CVS,
so it's safe to do an anonymous checkout and use that, although I'm
tempted to put out a 2.0.5 maintenance release right now.  I'd rather
wait until after redoing build.xml and the project layout to match
what's been discussed on alexandria-dev though (this weekend, I
guess).

Thanks for the bug report George!  Please test the fix when you have
a chance to provide additional verification.

daniel


Reply via email to