summaryrefslogtreecommitdiff
path: root/struct.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-01-10 20:18:39 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-01-10 20:18:39 +0000
commit5915dc245e5efac34d676ad29ebd38d6b46f16cf (patch)
tree96a07496fbd0e748f38fd6d178fa5ffda1bd373e /struct.c
parent399bb7e73953bc7fbeb74e2712d931f44d7553b8 (diff)
* class.c (rb_make_metaclass): [new]
* class.c (rb_define_class_id): use rb_make_metaclass(), don't call Class#inherited hook. * class.c (rb_class_inherited): [new] * class.c (rb_define_class): call Class#inherited hook here. * class.c (rb_define_class_under): ditto after class path is set. * class.c (rb_singleton_class): use rb_make_metaclass(). * eval.c (rb_eval): same as rb_define_class_under(). * intern.h: prototypes of rb_make_metaclass() and rb_class_inherited(). * object.c (rb_class_s_new): use rb_make_metaclass() and rb_class_inherited(). * object.c (Init_Object): use rb_make_metaclass(). * struct.c (make_struct): use rb_class_inherited(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'struct.c')
-rw-r--r--struct.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/struct.c b/struct.c
index 21043cb..0b17eb0 100644
--- a/struct.c
+++ b/struct.c
@@ -156,6 +156,7 @@ make_struct(name, member, klass)
if (NIL_P(name)) {
nstr = rb_class_new(klass);
+ rb_class_inherited(klass, nstr);
}
else {
char *cname = StringValuePtr(name);