[前][次][番号順一覧][スレッド一覧]

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

[前][次][番号順一覧][スレッド一覧]