--Apple-Mail-2-989924298
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset-ascii


On Apr 14, 2010, at 8:36 PM, Rich Kilmer wrote:

> I wrote this original code in gem_prelude.
> 
> The intent of this was threefold:
> 
> 1) Make RubyGems packaged files accessible with require/load in 1.9
> without having to require 'rubygems'
> 2) Minimize startup time (don't load the full rubygems library if its
> not going to be used)
> 3) Load rubygems proper if need be.
> 
<snip>

> I would prefer C.  I know we don't have a lot of time before 1.9.2 but
> if we get our ducks in a row we can make this work...it does need to
> be fixed.

I've gone ahead and implemented an option D, which is very similar to the original suggestion made for RubyGems back in 2007 (blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/12792).

This moves the RubyGem custom require into the prelude and triggers the full loading of RubyGems itself if the normal require raises a LoadError. It fixes the problem because the highest version gems are no longer pushed on $LOAD_PATH, allowing RubyGems to activate gems and the proper dependencies.

This isn't as nice as Rich's suggestions, but it's possible to do easily without changes load.c.

I've attached the patch for comment.

Thanks!

 - Evan


--Apple-Mail-2-989924298
Content-Disposition: attachment;
	filenameュョ
テュヤコ ッュサ
	ュョ「
テュヤュナコ キ

ノコ ゜ョ
ュュュ ゜ョ	ィ イキウオアゥ
ォォォ ゜ョ	ィ ゥ
タタ ュアャイウ ォアャアオ タタ
ュ」  コ ョ ョ ョ ョ ョ ョ ョ
 」 コ 
ォ」 ラチメホ
 
 」 ホマヤノテナコ メ    ョ
 」 ェ ナョ゜    ュナョ
 」 ェ モ   ナョ゜ョ
 」 ェ フ   ョ
 
ォ」 ヤ     ヌ     
ォ」           ョ
  ソィヌゥ 
 
ュ  」 ココ
ュ
ュ   ヒ
ュ
ュ     ィ゜ャ ェ゜ゥ
ュ      ヌョ゜゜゜゜゜ィ゜ャ ェ゜ゥ
ュ    
ュ     コ
ュ  
ュ
    ヌ
 
     テヘ  
タタ ュカカャク ォオクャク タタ
     
 
      ョ゜ィゥ
ュ        ョョ゜ィナョィァァゥゥ
ュ      ョ。ィニココチフヤ゜モナミチメチヤマメャ ニココモナミチメチヤマメゥ  ニココチフヤ゜モナミチメチヤマメ
ォ        ョョ゜ ナョィァァゥ
ォ      ョ。 ニココチフヤ゜モナミチメチヤマメャ ニココモナミチメチヤマメ  ニココチフヤ゜モナミチメチヤマメ
       タ゜  
     
 
タタ ュククャアア ォクーャアイ タタ
       
 
       タ゜ョ。
ュ      タ゜ョ。ョ゜ィナョィァァゥゥ
ォ      タ゜ョ。   ョ゜ ナョィァァゥ 
     
 
      ョ゜
ュ      タ゜  ョ゜ィ「「ゥョ゜ィナョィァァゥゥ
ォ      タ゜  ョ゜ィ「「ゥョ゜ ワ
ォ        ナョィァァゥ
     
        ニココチフヤ゜モナミチメチヤマメ 
         「テコッ「
タタ ュアーカャキ ォケケャカ タタ
      ァッッョァ
     」  ッ
 
ュ
     」」
     」 ヘ        ムフ  
     」    メヌ
タタ ュアウオャカ ォアイキャキ タタ
      ムフ
 
       タ゜゜゜  
ォ      タ゜゜  
 
        ョ゜゜゜
           タ゜゜゜
タタ ュアオエャアイー ォアエキャオイ タタ
         
 
         、「ョ ゜゜゜゜
ォ
         、「ョ  
ュ           ッ」メョ ニココモナミチメチヤマメワョワッ 
ォ           ッ」メョ ニココモナミチメチヤマメワョワッ  
              フナャ 「      」「
           
         
ォ
ォ        タ゜゜  
          ァァ
ォ        タ゜゜  
       
 
        ョ゜゜゜
           ゜゜゜゜
ュ        、「 シシ   、「ョソィゥ
ォ        、「 シシ   、「ョソ 
       
 
        ョ゜゜゜゜
ュ        ゜  ョィヌココテヘロコンャ ヌココテヘロコ゜ンゥ
ュ         、コョソィ゜ゥ
ュ           ニョィ゜ャ ァョァゥ
ォ        ゜  ョィヌココテヘロコンャ
ォ                                   ヌココテヘロコ゜ンゥ
ォ
ォ         、コョソ ゜ 
ォ          ニョ ゜ャ ァョァ
          」 ョョャ  ュ
           、コョ  
ュ             ニョソィ   ョィャ ァョァゥ ゥ
ュ               
ュ            
ォ              ョィャ ァョァゥ
ォ               ニョソィゥ
           
ォ
            フナャ ァョァ
         
       
 
ュ      ヌミ  
ュ      ヌヨ  
ュ
        ゜゜゜゜゜ィ゜ャ ェ゜ゥ
ュ         ゜ョソ
ュ           ヌミョ゜ソィ゜ゥ 
ュ             ヌココフナャ 「テ   メヌ 」゜ ィセ ゥワ「
ュ          
ォ        ムフョ゜゜゜
ォ         ゜ャ ェ゜
ォ      
 
ュ          」     
ュ           
ュ        
ュ           ゜ョ セ ア 
ュ            ムフョ゜゜゜
ュ             ィ゜ャ ェ゜ゥ
ュ          
ュ
ュ          ャ   ゜ローンョ
ュ          ョ。
ュ
ュ           ゜  ヨロ゜ン 
ュ             
ュ             「セ「ャ 「セ
ュ                
ュ                ィ゜ シヌョ゜ィゥゥ セ 
ュ             「セ「 
ュ              ゜  ョ゜ 
ュ
ュ                 ゜ョ ゜ョ
ュ            
ュ          
ュ
ォ       ョ゜ィゥ
ォ         タ゜゜゜
           ムフョ゜゜゜
ュ           ゜ャ ェ゜
         
ュ      
 
ュ       ゜ィ゜ゥ
ュ          ゜ョィ「ョ「ゥョ  ョ゜
ュ        ョ  ョ ー
ュ         シシ ー  ョソ
ュ        
ュ      
ォ           タ゜゜
 
ュ       ゜゜゜゜゜゜゜
ュ        ヌョョ  
ュ          ゜  ョィャ 「「ゥ
ュ
ュ           ニョソィ゜ゥ 
ュ            トョィ゜ゥョ  ゜゜
ュ                ゜゜ 「ョ「  ゜゜ 「ョョ「
ュ
ュ                ゜  ゜゜ロッィョェゥュィョェゥッャ アン
ュ              ゜  ゜ィ、イゥ
ュ              ゜  ヨロ゜ン
ュ
ュ               。゜  ィ゜ シ゜ゥ シ ー 
ュ                ヌヨロ゜ン  ゜
ュ                ヌミロ゜ン  ョィ゜ャ ゜゜ゥ
ュ              
ュ            
ュ          
ュ        
ュ
ュ        ゜  ン
ュ
ュ        ヌミョ゜  
ュ           ニョソィ  ョィャ 「ョ゜「ゥゥ 
ュ              ョィゥョョ  ゜
ュ              ニョ ャ ゜
ュ            
ュ
ュ            ゜ョ 
ュ          
ュ            ゜ シシ   ニョソィ  ョィャ 「「ゥゥ
ュ            ゜ シシ   ニョソィ  ョィャ 「「ゥゥ
ュ          
ュ        
ュ
ュ        」 「「   ゜    、フマチト゜ミチヤネ  
ュ        」          
ュ        」  
ュ         ゜ョソ 
ュ          ゜ョョ゜゜ィコタ゜゜ャ ゥ
ュ        
ュ        」      ュノ  ナホヨロァメユツルフノツァン
ュ        、コロ、コョョ゜゜ソィコタ゜゜ゥュアャーン  ゜
ォ        ヌョ゜ィゥ
       
 
        ゜ィゥ
タタ ュイケアャク ォイアカャオウ タタ
 
   
 
ォ  」 ココ
ォ
ォ   ヒ
ォ
ォ     ィ゜ャ ェ゜ゥ
ォ      ヌョ゜゜゜゜゜ィ゜ャ ェ゜ゥ
ォ    
ォ
ォ     コ
ォ
ォ    」」
ォ    」 ヤ ヒ」   メヌ  ョ
ォ
ォ     ゜゜ 
ォ
ォ    」」
ォ    」 ラ メヌ  ャ ヒ」      
ォ    」       ョ
ォ    」
ォ    」 ラ   シセ ァァシッセャ    コ
ォ    」 ェ ノ         メ ャ 
ォ    」   ョ
ォ    」 ェ マャ         ョ
ォ    」   ノ ァ    ァァャ     ィ  
ォ    」   ゥョ
ォ    」
ォ    」 ヤ  シセシッセ     
ォ    」        ョ
ォ
ォ     ィゥ 」 ココ
ォ      ゜゜ 
ォ     フナ ゜
ォ       ゜ョ ッ」メョ ワッ 
ォ         ヌココムフョ゜ィゥ
ォ           ゜
ォ        
ォ      
ォ
ォ       ゜
ォ    
ォ
ォ     コ
ォ     コ゜゜
ォ
ォ  
ォ
   
ュ    ヌョ゜゜゜゜゜゜゜
     ヌココムフョ゜゜゜
    ナ 
      「ナ        ゜「
ノコ ッッ゜ョ
ュュュ ッッ゜ョ	ィ イキウオアゥ
ォォォ ッッ゜ョ	ィ ゥ
タタ ュカャカ ォカャイキ タタ
 
  ァァ
 
ォ ソ ヌココムフ
ォ
ォ ヌ
ォ
ォ  」」
ォ  」
ォ  」 テ   ゜     ォォ
ォ
ォ   ョ゜ィゥ 」 ココ
ォ      ョョィゥ
ォ       
ォ
ォ    ヌョィョャ 「 ョ「ゥ
ォ    ゜゜ 
ォ
ォ     
ォ  
ォ
ォ
ォ
ォ
  ヒ
 
   」」
タタ ュエエャウ ォカオャエ タタ
 
 
 
ォ
ノコ ッョ
ュュュ ッョ	ィ イキウオアゥ
ォォォ ッョ	ィ ゥ
タタ ュアーカウャカ ォアーカウャキ タタ
 
 
  ァッ゜ァ
ォ ァッ゜ァ
 
 ヌョ゜
 

ュュチュヘュイュケクケケイエイケクュュ