diff --git a/ChangeLog b/ChangeLog index 7cf5e77a10..13124bee36 100644 --- a/ChangeLog +++ b/ChangeLog @@ -24,12 +24,6 @@ Tue Jan 18 07:53:52 2011 Tanaka Akira * eval_intern.h: parenthesize macro arguments. -Tue Jan 18 06:49:38 2011 Nobuyoshi Nakada - - * 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 * 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