aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/rubygems.rb2
-rw-r--r--lib/rubygems/installer.rb1
-rw-r--r--lib/rubygems/specification.rb6
3 files changed, 8 insertions, 1 deletions
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