summaryrefslogtreecommitdiff
path: root/class.c
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-12-02 08:07:41 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-12-02 08:07:41 +0000
commitb1d2491fb42e3c5f254ac761db736d0129d0ebd5 (patch)
tree26415cc045ab2c73e79d0204c724d4c7abe9f237 /class.c
parent27b1ee2773a840f3b3db5a6a5b7cc2ad02d7b3a2 (diff)
merges r29518 from trunk into ruby_1_9_2.
-- * class.c (rb_define_{class,module}_id_under): register to be marked, which probably are defined and used internally. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@30049 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'class.c')
-rw-r--r--class.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/class.c b/class.c
index e6fb74816b..bb65ce487f 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;
}