diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | lib/rubygems/source_index.rb | 6 |
2 files changed, 5 insertions, 7 deletions
@@ -24,12 +24,6 @@ Tue Jan 18 07:53:52 2011 Tanaka Akira <[email protected]> * eval_intern.h: parenthesize macro arguments. -Tue Jan 18 06:49:38 2011 Nobuyoshi Nakada <[email protected]> - - * lib/rubygems/source_index.rb (Gem#load_specification): read in - binary mode to get rid of failures caused by mismatch between - default internal encoding and encoding comments. - Tue Jan 18 04:42:44 2011 Aaron Patterson <[email protected]> * ext/psych/lib/psych/parser.rb (Mark): Adding a class to wrap diff --git a/lib/rubygems/source_index.rb b/lib/rubygems/source_index.rb index 20b27733fc..4700fbbb89 100644 --- a/lib/rubygems/source_index.rb +++ b/lib/rubygems/source_index.rb @@ -85,7 +85,11 @@ class Gem::SourceIndex def load_specification(file_name) return nil unless file_name and File.exist? file_name - spec_code = File.binread(file_name).untaint + spec_code = if defined? Encoding then + File.read file_name, :encoding => 'UTF-8' + else + File.read file_name + end.untaint begin gemspec = eval spec_code, binding, file_name |