diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-09-14 08:59:02 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-09-14 08:59:02 +0000 |
commit | 269503b544247b5b3e30dbe60a0bab4f2ca00e4e (patch) | |
tree | a6d0a3a9b34017c4c84d997152a3aaf3086e1ce1 /lib/rubygems/core_ext | |
parent | 2614d9ba2fb5ad171200cccc88f42fa659b527c6 (diff) | |
download | ruby-269503b544247b5b3e30dbe60a0bab4f2ca00e4e.tar.gz |
Revert r42938 "* lib/rubygems: Update to RubyGems 2.1.3"
It breaks build.
http://u64.rubyci.org/~chkbuild/ruby-trunk/log/20130913T200302Z.diff.html.gz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rubygems/core_ext')
-rwxr-xr-x | lib/rubygems/core_ext/kernel_require.rb | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/lib/rubygems/core_ext/kernel_require.rb b/lib/rubygems/core_ext/kernel_require.rb index f4f7fc8393..0416644920 100755 --- a/lib/rubygems/core_ext/kernel_require.rb +++ b/lib/rubygems/core_ext/kernel_require.rb @@ -48,7 +48,12 @@ module Kernel # normal require handle loading a gem from the rescue below. if Gem::Specification.unresolved_deps.empty? then - return gem_original_require(path) + begin + RUBYGEMS_ACTIVATION_MONITOR.exit + return gem_original_require(path) + ensure + RUBYGEMS_ACTIVATION_MONITOR.enter + end end # If +path+ is for a gem that has already been loaded, don't @@ -57,11 +62,16 @@ module Kernel #-- # TODO request access to the C implementation of this to speed up RubyGems - spec = Gem::Specification.find { |s| + spec = Gem::Specification.stubs.find { |s| s.activated? and s.contains_requirable_file? path } - return gem_original_require(path) if spec + begin + RUBYGEMS_ACTIVATION_MONITOR.exit + return gem_original_require(path) + ensure + RUBYGEMS_ACTIVATION_MONITOR.enter + end if spec # Attempt to find +path+ in any unresolved gems... @@ -109,11 +119,21 @@ module Kernel valid.activate end - gem_original_require path + begin + RUBYGEMS_ACTIVATION_MONITOR.exit + return gem_original_require(path) + ensure + RUBYGEMS_ACTIVATION_MONITOR.enter + end rescue LoadError => load_error if load_error.message.start_with?("Could not find") or (load_error.message.end_with?(path) and Gem.try_activate(path)) then - return gem_original_require(path) + begin + RUBYGEMS_ACTIVATION_MONITOR.exit + return gem_original_require(path) + ensure + RUBYGEMS_ACTIVATION_MONITOR.enter + end end raise load_error |