/\z/ raises ArrayIndexOutOfBoundsException in --1.9 mode
--------------------------------------------------------
Key: JRUBY-5761
URL: http://jira.codehaus.org/browse/JRUBY-5761
Project: JRuby
Issue Type: Bug
Components: Ruby 1.9.2
Affects Versions: JRuby 1.6.1
Environment: jruby 1.6.1 (ruby-1.8.7-p330) (2011-04-12 85838f6) (Java
HotSpot(TM) 64-Bit Server VM 1.6.0_24) [darwin-x86_64-java]
jruby 1.6.1 (ruby-1.9.2-p136) (2011-04-12 85838f6) (Java HotSpot(TM) 64-Bit
Server VM 1.6.0_24) [darwin-x86_64-java]
LANG=en_US.UTF-8
Reporter: Kornelius Kalnbach
Assignee: Thomas E Enebo
It seems the \z anchor is broken in 1.9 RegExps:
> jruby-1.6.1 --1.8 -e 'p "\x80"[/\z/]'
""
> jruby-1.6.1 --1.9 -e 'p "\x80"[/\z/]'
MultiByteEncoding.java:57:in `safeLengthForUptoFour':
java.lang.ArrayIndexOutOfBoundsException: -1
from UTF8Encoding.java:35:in `length'
from Matcher.java:463:in `search'
from RubyRegexp.java:1532:in `search19'
from RubyString.java:3542:in `subpat19'
from RubyString.java:3451:in `op_aref19'
from RubyString$i$op_aref19.gen:65535:in `call'
from CachingCallSite.java:282:in `cacheAndCall'
from CachingCallSite.java:139:in `call'
from -e:1:in `__file__'
from -e:-1:in `load'
from Ruby.java:671:in `runScript'
from Ruby.java:575:in `runNormally'
from Ruby.java:424:in `runFromMain'
from Main.java:278:in `doRunFromMain'
from Main.java:198:in `internalRun'
from Main.java:164:in `run'
from Main.java:148:in `run'
from Main.java:128:in `main'
It also breaks when using String#scan or StringScanner:
> jruby-1.6.1 --1.9 -e '"\xBB".scan(/\z/)'
MultiByteEncoding.java:57:in `safeLengthForUptoFour':
java.lang.ArrayIndexOutOfBoundsException: -1
from UTF8Encoding.java:35:in `length'
from Matcher.java:463:in `search'
from RubyString.java:4812:in `scanNoIter19'
from RubyString.java:4760:in `scan19'
from RubyString$i$1$0$scan19.gen:65535:in `call'
from JavaMethod.java:319:in `call'
from CachingCallSite.java:282:in `cacheAndCall'
from CachingCallSite.java:139:in `call'
from -e:1:in `__file__'
from -e:-1:in `load'
from Ruby.java:671:in `runScript'
from Ruby.java:575:in `runNormally'
from Ruby.java:424:in `runFromMain'
from Main.java:278:in `doRunFromMain'
from Main.java:198:in `internalRun'
from Main.java:164:in `run'
from Main.java:148:in `run'
from Main.java:128:in `main'
> jruby-1.6.1 --1.9 -rstrscan -e 'StringScanner.new("\xBB").scan_until(/\z/)'
USASCIIEncoding.java:33:in `length': java.lang.ArrayIndexOutOfBoundsException:
-1
from Matcher.java:463:in `search'
from RubyStringScanner.java:208:in `scan'
from RubyStringScanner.java:255:in `scan_until'
from RubyStringScanner$i$1$0$scan_until.gen:65535:in `call'
from CachingCallSite.java:282:in `cacheAndCall'
from CachingCallSite.java:139:in `call'
from -e:1:in `__file__'
from -e:-1:in `load'
from Ruby.java:671:in `runScript'
from Ruby.java:575:in `runNormally'
from Ruby.java:424:in `runFromMain'
from Main.java:278:in `doRunFromMain'
from Main.java:198:in `internalRun'
from Main.java:164:in `run'
from Main.java:148:in `run'
from Main.java:128:in `main'
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email