summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--class.c2
-rw-r--r--test/ruby/test_class.rb4
-rw-r--r--version.h4
4 files changed, 13 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 99de2cbd46..d6f0e51b42 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun Oct 17 10:40:17 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * class.c (rb_define_{class,module}_id_under): register to be
+ marked, which probably are defined and used internally.
+
Sat Oct 16 11:10:55 2010 Masaki Suketa <masaki.suketa@nifty.ne.jp>
* ext/win32ole/win32ole.c (ole_encoding2cp): set codepage 20936
diff --git a/class.c b/class.c
index 4610f4dfa7..31b407038e 100644
--- a/class.c
+++ b/class.c
@@ -524,6 +524,7 @@ rb_define_class_id_under(VALUE outer, ID id, VALUE super)
rb_set_class_path_string(klass, outer, rb_id2str(id));
rb_const_set(outer, id, klass);
rb_class_inherited(super, klass);
+ rb_gc_register_mark_object(klass);
return klass;
}
@@ -590,6 +591,7 @@ rb_define_module_id_under(VALUE outer, ID id)
module = rb_define_module_id(id);
rb_const_set(outer, id, module);
rb_set_class_path_string(module, outer, rb_id2str(id));
+ rb_gc_register_mark_object(module);
return module;
}
diff --git a/test/ruby/test_class.rb b/test/ruby/test_class.rb
index c81f0752d4..3f18294e0f 100644
--- a/test/ruby/test_class.rb
+++ b/test/ruby/test_class.rb
@@ -236,4 +236,8 @@ class TestClass < Test::Unit::TestCase
copy.send(:include, mod)
assert_equal("mod#foo", copy.new.foo)
end
+
+ def test_nested_class_removal
+ assert_normal_exit('File.__send__(:remove_const, :Stat); at_exit{File.stat(".")}; GC.start')
+ end
end
diff --git a/version.h b/version.h
index b579dcf7c6..a124ed8c9d 100644
--- a/version.h
+++ b/version.h
@@ -1,11 +1,11 @@
#define RUBY_VERSION "1.9.3"
-#define RUBY_RELEASE_DATE "2010-10-16"
+#define RUBY_RELEASE_DATE "2010-10-17"
#define RUBY_PATCHLEVEL -1
#define RUBY_BRANCH_NAME "trunk"
#define RUBY_RELEASE_YEAR 2010
#define RUBY_RELEASE_MONTH 10
-#define RUBY_RELEASE_DAY 16
+#define RUBY_RELEASE_DAY 17
#include "ruby/version.h"