From d26fb035cae8d351dc238376722c980230dc5fbd Mon Sep 17 00:00:00 2001 From: ryan Date: Tue, 18 Jan 2011 22:38:34 +0000 Subject: [PATCH] Reverting nobu's rubygems patch. It needs: 1) to have a test, 2) to be UTF8, and 3) to work on 1.8 (see Gem.read_binary). (It should also be submitted to the rubygems repo or tracker) git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30598 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ------ lib/rubygems/source_index.rb | 6 +++++- 2 files changed, 5 insertions(+), 7 deletions(-) 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