Skip to content
Commits on May 18, 2012
  1. @enebo

    Say what

    enebo committed
  2. @enebo

    Remove JLine from being seen by maven and jarjar'ing our internal com…

    enebo committed
    …mitted version to a non-conflicting package (to be reverted for next release when jline 2.7 is out)
  3. @enebo
  4. @enebo
  5. @enebo

    Update to jcodings 1.0.9

    enebo committed
  6. @headius
Commits on May 17, 2012
  1. @headius
  2. @headius

    Fix JRUBY-6588

    headius committed
    Multiple fixes and improvements for transcoding. We are still
    passing everthing through Java Charset logic, which means the
    intermediate phase is always UTF-16, but we will now error out
    properly. The test case from the bug passes now.
  3. @headius

    Fix #174

    headius committed
    [JRUBY-6668] StringScanner#scan_until spins forever on UTF-8 data
    
    We were not preparing the regex properly. Added that, and the
    given example completes normally.
  4. @headius

    Add license block.

    headius committed
  5. @enebo
  6. @headius

    Fix JRUBY-6607, JRUBY-6498

    headius committed
    We did not have a finally block to ensure that unsuccessful
    connections were properly closed. Timeout errors would cause us
    to leave the partially-initialized connection dangling, and the
    JVM does not clean up socket connections on GC. Adding a finally
    block and success flag appears to have tidied up lingering
    sockets.
  7. @headius

    Additional fix for JRUBY-6669.

    headius committed
  8. @headius

    Fix JRUBY-6669

    headius committed
    I just moved the downcased version into the Windows block, since
    *nix will be more consistent.
  9. @subbuss

    [IR] Minor code cleanup

    subbuss committed
Commits on May 16, 2012
  1. @enebo
  2. @enebo

    Bump for version

    enebo committed
  3. @headius
  4. @enebo

    Dir.pwd sometimes mixes case on drive letter...I no longer think this…

    enebo committed
    … is a bug but Windows only beating me down
  5. @enebo

    More pass'age on windows

    enebo committed
  6. @headius
  7. @headius
  8. @headius
  9. @headius

    Add spec-short to travis.

    headius committed
  10. @headius
  11. @headius

    Fix JRUBY-6603

    headius committed
    To avoid attempting to read the ENV hash while it might be updated
    elsewhere, I added a dup call. This is not 100% perfect if dup is
    not threadsafe (unsure) but it was able to pass the given
    contrived example.
  12. @headius

    Fix JRUBY-6572 and unexclude a bunch of passing tests.

    headius committed
    I mostly just traced through the MRI logic for handling binary
    mode and tried to match up code. There's also a few fixes to make
    some of our ported logic match MRI more exactly.
    
    We have accumulated enough fixes that test_io_m17n has many tests
    working now. I removed them from excludes.
  13. @BanzaiMan

    spaces, not tabs.

    BanzaiMan committed
  14. @headius

    Fix JRUBY-6517

    headius committed
    This seems to be a flaw in the patch I provided for
    http://bugs.ruby-lang.org/issues/5698. Since that patch was only
    to improve perf of REXML in Ruby 1.8 mode, I think it's better to
    have slower and working than faster and broken. Reverting.
  15. @enebo

    Update subprojects jars

    enebo committed
Commits on May 15, 2012
  1. @headius
  2. @headius
  3. @headius

    Fix JRUBY-6582

    headius committed
    We were missing encoding negotiation that MRI does during % with
    string args.
  4. @headius

    Fix JRUBY-6619: NoMethodError 'upcase' on Java string

    headius committed
    Well, this was a tricky one to find.
    
    The problem stems from the actual Enumeration being walked. In
    this case, when running under a Tomcat-based server (or perhaps
    when running under a server that just uses some Apache libraries)
    it is the NamesEnumerator class.
    
    NamesEnumerator implements Enumeration<String>, which causes javac
    to generate two nextElement methods: one with a String return and
    one with an Object return. Issue number 1 is that JRuby does not
    consider these to be overloads, and so it would randomly pick one
    or the other depending on what order they were retrieved via Java
    reflection. That was the cause of the variability.
    
    JRuby converts return arguments using a cached "converter" that
    it validates is still correct by confirming the object type being
    returned matches the expected object type. If a method returns
    String, we will use the cached String converter if the returned
    object is also a String.
    
    We also had code in place that attempted to find a "more public"
    version of methods defined on non-public classes by searching the
    public classes and interfaces above it.
    
    In the case of NamesEnumerator, which is package-private, whenever
    the String-returning method was encountered first we would proceed
    to search for the Object version even though both were public
    methods. But upon finding the Object version, we did not save it.
    Instead, we only captured the converter based on an Object return
    type and still dispatched using the String version.
    
    So basically, we were calling the String version of the method but
    using the Object converter to convert the result, which is why it
    wrapped rather than converted.
    
    I removed the public method search, since it wasn't actually
    accomplishing anything. Both of the public methods in question
    should dispatch ok without it, and this should avoid the broken
    hybrid of String method with Object converter.
Something went wrong with that request. Please try again.