aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rubygems/specification.rb
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-01-17 00:37:28 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-01-17 00:37:28 +0000
commit219e1566876c2a6996b88728eb558691d5c77459 (patch)
tree4730b8dc51bd5d10d92b49a081bef77b1c0956e2 /lib/rubygems/specification.rb
parent1be8ac57abca95de2525c9b56fb51e9c8a802660 (diff)
downloadruby-219e1566876c2a6996b88728eb558691d5c77459.tar.gz
* 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
Diffstat (limited to 'lib/rubygems/specification.rb')
-rw-r--r--lib/rubygems/specification.rb6
1 files changed, 6 insertions, 0 deletions
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