ruby-changes:3020
From: ko1@a...
Date: 23 Dec 2007 14:45:22 +0900
Subject: [ruby-changes:3020] drbrain - Ruby:r14512 (trunk): Use require to load rubygems.rb in gem_prelude.rb so the correct path is in on RubyGems upgrade.
drbrain 2007-12-23 14:45:11 +0900 (Sun, 23 Dec 2007) New Revision: 14512 Modified files: trunk/ChangeLog trunk/gem_prelude.rb Log: Use require to load rubygems.rb in gem_prelude.rb so the correct path is in on RubyGems upgrade. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=14512&r2=14511 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/gem_prelude.rb?r1=14512&r2=14511 Index: ChangeLog =================================================================== --- ChangeLog (revision 14511) +++ ChangeLog (revision 14512) @@ -1,3 +1,8 @@ +Sun Dec 23 14:43:10 2007 Eric Hodel <drbrain@s...> + + * 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@r...> * string.c (sym_call): use exact argument array interface. Index: gem_prelude.rb =================================================================== --- gem_prelude.rb (revision 14511) +++ gem_prelude.rb (revision 14512) @@ -76,14 +76,20 @@ 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 @@ 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 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml