diff options
| author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-23 05:45:11 +0000 |
|---|---|---|
| committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-12-23 05:45:11 +0000 |
| commit | 752f68c41f2121e2736a446ac3c284f8e6febf5f (patch) | |
| tree | 7ba6311ffa2dd3065572009f131d83610fd31439 | |
| parent | bf76445be2163c32fb57c1a152d5d066f6f787cd (diff) | |
| download | ruby-752f68c41f2121e2736a446ac3c284f8e6febf5f.tar.gz ruby-752f68c41f2121e2736a446ac3c284f8e6febf5f.tar.xz ruby-752f68c41f2121e2736a446ac3c284f8e6febf5f.zip | |
Use require to load rubygems.rb in gem_prelude.rb so the correct path is in on RubyGems upgrade.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 5 | ||||
| -rw-r--r-- | gem_prelude.rb | 18 |
2 files changed, 18 insertions, 5 deletions
@@ -1,3 +1,8 @@ +Sun Dec 23 14:43:10 2007 Eric Hodel <drbrain@segment7.net> + + * gem_prelude.rb: Use require to load rubygems.rb so the correct path + is in $LOADED_FEATURES on RubyGems upgrade. + Sun Dec 23 11:26:43 2007 Nobuyoshi Nakada <nobu@ruby-lang.org> * string.c (sym_call): use exact argument array interface. diff --git a/gem_prelude.rb b/gem_prelude.rb index d2c54d3fa..93199b723 100644 --- a/gem_prelude.rb +++ b/gem_prelude.rb @@ -76,14 +76,20 @@ module Gem end module QuickLoader - + class << self def load_full_rubygems_library - QuickLoader.instance_methods.each {|method_name| QuickLoader.send(:undef_method, method_name)} - load "rubygems.rb" + QuickLoader.instance_methods.each do |method_name| + QuickLoader.send :undef_method, method_name + end + + $".delete File.join(Gem::ConfigMap[:libdir], 'ruby', + Gem::ConfigMap[:ruby_version], 'rubygems.rb') + + require 'rubygems' end end - + GemPaths = {} GemVersions = {} @@ -176,9 +182,11 @@ module Gem extend QuickLoader end + begin Gem.push_all_highest_version_gems_on_load_path - $".unshift File.join(Gem::ConfigMap[:libdir], "ruby", Gem::ConfigMap[:ruby_version], "rubygems.rb") + $" << File.join(Gem::ConfigMap[:libdir], "ruby", + Gem::ConfigMap[:ruby_version], "rubygems.rb") rescue Exception => e puts "Error loading gem paths on load path in gem_prelude" puts e |
