Bug #2178: in gem_prelude.rb: encoding error
http://redmine.ruby-lang.org/issues/show/2178

Author: Martin Dürst
Status: Open, Priority: Normal
Target version: 1.9.x
ruby -v: ruby 1.9.2dev (2009-10-05 trunk 25235) [i386-cygwin]

When running the head ruby with a home directory that does contain non-ASCII characters, line 75 of gem_prelude.rb reports an exception because of invalid bytes in a string (interpreted as US-ASCII).
gem_prelude.rb:75:
        @gem_path = gpaths.split(File::PATH_SEPARATOR)
The patch we found is to replace the above line with:
        @gem_path = gpaths.force_encoding('ascii-8bit').split(File::PATH_SEPARATOR)
However, while this worked in our case, there are encodings that when interpreted as ASCII-8BIT look like they contain '/', '\', or so. Actually, this is true for Shift_JIS, the encoding used on the system in question, so we were just lucky that this didn't apply to the path we used. A better choice would probably be to force-encode to the file system encoding, if available.

Regards,   Martin.


----------------------------------------
http://redmine.ruby-lang.org