From: ts Date: 2002-01-08T00:51:11+09:00 Subject: Re: class name reported differently in different contexts >>>>> "a" == writes: a> ... a> override_class: a> if (!super) super = rb_cObject; a> klass = rb_define_class_id(node->nd_cname, super); a> rb_const_set(ruby_class, node->nd_cname, klass); a> ... You have removed the only line interesting :-) /* here it define __classid__ with the ID (node->nd_cname) this give a relative path, which is stored in __classpath__, when it want to display it */ klass = rb_define_class_id(node->nd_cname, super); rb_const_set(ruby_class, node->nd_cname, klass); /* here it compute the absolute path with ruby_class (current class) and the name of the class, and store it in __classpath__ */ rb_set_class_path(klass,ruby_class,rb_id2name(node->nd_cname)); Guy Decoux