Bugs item #27712, was opened at 2010-01-21 00:51 You can respond by visiting: http://rubyforge.org/tracker/?func=detail&atid=575&aid=27712&group_id=126
Category: other Group: None Status: Open Resolution: None Priority: 3 Submitted By: Nick Howard (baroquebobcat) Assigned to: Nobody (None) Summary: RubyGems Plugins: odd behavior when gem w/ plugin has multiple installed versions. Initial Comment: When I run gem rdoc with multiple copies of yard installed, I get a SystemStackError because each version of yard installed's rubygems_plugin.rb file is loaded. I think that rubygems shouldn't load the rubygems_plugin.rb files for all installed versions of a gem, it should only load the latest version of the plugins. $ sudo gem rdoc sinatra --backtrace ERROR: While executing gem ... (SystemStackError) stack level too deep /usr/lib/ruby/gems/1.8/gems/yard-0.5.2/lib/rubygems_plugin.rb:19:in `has_rdoc?' /usr/lib/ruby/gems/1.8/gems/yard-0.4.0/lib/rubygems_plugin.rb:77:in `install_ri_yard_orig' /usr/lib/ruby/gems/1.8/gems/yard-0.4.0/lib/rubygems_plugin.rb:77:in `install_ri_yard_orig' /usr/lib/ruby/gems/1.8/gems/yard-0.5.2/lib/rubygems_plugin.rb:79:in `install_ri' /usr/local/lib/site_ruby/1.8/rubygems/doc_manager.rb:109:in `generate_ri' ... yard's maintainer has added a fix, but it only works going forward(since Gem.find_files returns the newer one first). I wrote something that fixes the problem by replacing /lib/rubygems.rb:1103, but it is kind of ugly due to my unfamiliarity with rubygems internals. plugins = Gem.latest_load_paths.map do |path| path = path+'/rubygems_plugin.rb' path if File.exists? path end.compact my notes are also at http://gist.github.com/281456 Thanks, Nick Howard ---------------------------------------------------------------------- You can respond by visiting: http://rubyforge.org/tracker/?func=detail&atid=575&aid=27712&group_id=126 _______________________________________________ Rubygems-developers mailing list http://rubyforge.org/projects/rubygems Rubygems-developers@rubyforge.org http://rubyforge.org/mailman/listinfo/rubygems-developers