New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

String literal difference from MRI #5052

Closed
bobjalex opened this Issue Feb 16, 2018 · 1 comment

Comments

Projects
None yet
3 participants
@bobjalex

bobjalex commented Feb 16, 2018

Environment

Running on Windows 10

>jruby -v
jruby 9.1.15.0 (2.3.3) 2017-12-07 929fde8 Java HotSpot(TM) 64-Bit Server VM 9.0.4+11 on 9.0.4+11 +jit [mswin32-x86_64]
>systeminfo
Host Name:                 BOB-ACER-SWIFT-
OS Name:                   Microsoft Windows 10 Home
OS Version:                10.0.16299 N/A Build 16299
...

Expected Behavior

>irb
irb(main):001:0> "#@"
=> "\#@"

Actual Behavior

>jirb
irb(main):001:0> "#@"
=> "@"
@headius

This comment has been minimized.

Member

headius commented Feb 16, 2018

The "WARNING" are a Java 9 thing about us using reflection to crack open core JDK classes, and the stack trace is a known bug with readline on Windows that's fixed in 9.1.16.0, so I'll remove those from your description.

The actual string bug should have a fix shortly; I believe @enebo is on it.

@headius headius added this to the JRuby 9.1.16.0 milestone Feb 16, 2018

enebo added a commit that referenced this issue Feb 18, 2018

Fixes #5052. String literal difference from MRI.
Basic gist of fix is to push '#' onto result buffer if we did not find any
useful characters after the next significant character ('@', '$').  Fixing
this was confusing because we have an ancient outdated pushback(char) method
which actually ignores c (except for eof).

@enebo enebo closed this Feb 18, 2018

enebo added a commit that referenced this issue Feb 23, 2018

Fixes #5052. String literal difference from MRI.
Basic gist of fix is to push '#' onto result buffer if we did not find any
useful characters after the next significant character ('@', '$').  Fixing
this was confusing because we have an ancient outdated pushback(char) method
which actually ignores c (except for eof).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment