s = StringScanner.new('ab')
produces different output in Rubinius 1.1.0:
ruby 1.8.6 (2010-02-05 patchlevel 399) [i686-darwin10.4.0]
ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-darwin10.4.0]
ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-darwin10.4.0]
ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.4.0]
jruby 1.5.2 (ruby 1.8.7 patchlevel 249) (2010-08-20 1c5e29d) (Java HotSpot(TM) 64-Bit Server VM 1.6.0_20) [x86_64-java]
rubinius 1.0.1 (1.8.7 0dc41c14 2010-06-03 JI) [x86_64-apple-darwin10.4.0]
rubinius 1.1.0 (1.8.7 aee1b9b5 2010-09-23 JI) [x86_64-apple-darwin10.4.0]
Specifically it seems that, after being set once to something not nil, the values of StringScanner# will be the empty String instead of nil when they are not matched during a scan action.
It's rather exotic, but it breaks a lot of CodeRay tests ;-)
Preserve zero length captures. Closed by b61c5e6
You're fast! Thanks :)
Any plans when a version including this fix will be released?
It will be in 1.1.1, which should be out in 2 weeks.
My opinion of Rubinius has turned from o_O to <3 in just 7 days. I hope I find the time to contribute something in the future.
:) Happy we can help! One easy way to help is to track your code on rbx head and report any issues you find.