From a499d1e69865ec17fee0e9bcaf493ac1d4d559ae Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 2 Jul 2015 05:15:53 +0000 Subject: rubygems.rb: use @gem_prelude_index * lib/rubygems.rb (Gem.load_path_insert_index): search @gem_prelude_index first. * lib/rubygems/test_case.rb (Gem::TestCase#setup): keep already expanded paths to prserve instance variables. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51104 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/rubygems.rb | 4 ++++ lib/rubygems/test_case.rb | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/rubygems.rb b/lib/rubygems.rb index 7af0694402..dd01fa3838 100644 --- a/lib/rubygems.rb +++ b/lib/rubygems.rb @@ -577,6 +577,10 @@ module Gem # gem's paths are inserted before site lib directory by default. def self.load_path_insert_index + $LOAD_PATH.each_with_index do |path, i| + return i if path.instance_variable_defined?(:@gem_prelude_index) + end + index = $LOAD_PATH.index RbConfig::CONFIG['sitelibdir'] index diff --git a/lib/rubygems/test_case.rb b/lib/rubygems/test_case.rb index aee4b75773..9edb6b48bd 100644 --- a/lib/rubygems/test_case.rb +++ b/lib/rubygems/test_case.rb @@ -269,7 +269,9 @@ class Gem::TestCase < MiniTest::Unit::TestCase Gem.ensure_gem_subdirectories @gemhome @orig_LOAD_PATH = $LOAD_PATH.dup - $LOAD_PATH.map! { |s| File.expand_path(s).untaint } + $LOAD_PATH.map! { |s| + (expand_path = File.expand_path(s)) == s ? s : expand_path.untaint + } Dir.chdir @tempdir -- cgit v1.2.3