aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--gem_prelude.rb2
-rw-r--r--ruby.c8
3 files changed, 11 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 0498f872ed..3386068646 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sat Jan 15 09:48:14 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ruby.c (ruby_init_prelude): get rid of global namespace
+ pullution.
+
Sat Jan 15 09:42:12 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
* include/ruby/io.h: missing prototypes.
diff --git a/gem_prelude.rb b/gem_prelude.rb
index c96514ada8..3d4516f341 100644
--- a/gem_prelude.rb
+++ b/gem_prelude.rb
@@ -1 +1 @@
-require 'rubygems' unless $disable_rubygems
+require 'rubygems.rb' if defined?(Gem)
diff --git a/ruby.c b/ruby.c
index 079afd8d34..61a293e57e 100644
--- a/ruby.c
+++ b/ruby.c
@@ -1103,9 +1103,8 @@ proc_options(long argc, char **argv, struct cmdline_options *opt, int envopt)
void Init_prelude(void);
static void
-ruby_init_prelude(int enable_gems)
+ruby_init_prelude(void)
{
- rb_gv_set("$disable_rubygems", enable_gems ? Qfalse : Qtrue);
Init_prelude();
rb_const_remove(rb_cObject, rb_intern_const("TMP_RUBY_PREFIX"));
}
@@ -1365,7 +1364,10 @@ process_options(int argc, char **argv, struct cmdline_options *opt)
rb_enc_associate(RARRAY_PTR(load_path)[i], lenc);
}
}
- ruby_init_prelude(!(opt->disable & DISABLE_BIT(gems)));
+ if (!(opt->disable & DISABLE_BIT(gems))) {
+ rb_define_module("Gem");
+ }
+ ruby_init_prelude();
ruby_set_argv(argc, argv);
process_sflag(&opt->sflag);