From 219e1566876c2a6996b88728eb558691d5c77459 Mon Sep 17 00:00:00 2001 From: drbrain Date: Thu, 17 Jan 2013 00:37:28 +0000 Subject: * lib/rubygems/installer.rb: Untaint string when checking output for $SAFE=1 * lib/rubygems/specification.rb: Keep previously loaded specs as active. This prevents double loading when refreshing the gem list. * test/rubygems/test_gem.rb: Test for above * lib/rubygems.rb: Bump version to 2.0.0.rc.2 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/rubygems.rb | 2 +- lib/rubygems/installer.rb | 1 + lib/rubygems/specification.rb | 6 ++++++ 3 files changed, 8 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/rubygems.rb b/lib/rubygems.rb index 3722e10780..dcfe74039c 100644 --- a/lib/rubygems.rb +++ b/lib/rubygems.rb @@ -98,7 +98,7 @@ require 'rbconfig' module Gem - VERSION = '2.0.0.preview3.1' + VERSION = '2.0.0.rc.2' end # Must be first since it unloads the prelude from 1.9.2 diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb index 7f9975678f..780a88b04c 100644 --- a/lib/rubygems/installer.rb +++ b/lib/rubygems/installer.rb @@ -489,6 +489,7 @@ class Gem::Installer def ensure_loadable_spec ruby = spec.to_ruby_for_cache + ruby.untaint begin eval ruby diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb index 2c8b73a76b..841bfbf842 100644 --- a/lib/rubygems/specification.rb +++ b/lib/rubygems/specification.rb @@ -656,6 +656,12 @@ class Gem::Specification @@all = specs.values + # After a reset, make sure already loaded specs + # are still marked as activated. + specs = {} + Gem.loaded_specs.each_value{|s| specs[s] = true} + @@all.each{|s| s.activated = true if specs[s]} + _resort! end @@all -- cgit v1.2.3