Eric Wong <normalperson / yhbt.net> wrote:
> OK, last update of the night :o  I think everything is good on 32-bit...

Gah, I decided to play on 64-bit and fixed one more bug:

  commit 87f13024862fe33bd2588013b833c64fbb2ef95a

      string.c: clear old flags when becoming embedded
      
      We no longer overload the shared/assoc flags for embedded
      strings 32-bytes or longer, so we cannot rely on setting the
      embedded length to clear the shared/assoc flags.
      
      Thus, a string which goes from:
        (1)no-embed -> (2)embed -> (3)no-embed
      may inherit false shared/assoc flags from the original noembed form,
      leading to assertion failures and segfaults.

  git pull git://80x24.org/ruby.git pull-495-fixes


Only one failure left (doesn't happen on my 32-bit, only amd64 Debian wheezy):

  1) Error:
TestGemSpecification#test_to_ruby_nested_hash:
ArgumentError: comparison of Hash with nil failed
    /home/ew/ruby/lib/rubygems/specification.rb:2127:in `sort'
    /home/ew/ruby/lib/rubygems/specification.rb:2127:in `ruby_code'
    /home/ew/ruby/lib/rubygems/specification.rb:2272:in `to_ruby'
    /home/ew/ruby/test/rubygems/test_gem_specification.rb:2091:in `test_to_ruby_nested_hash'