From: nobu.nokada@... Date: 2003-08-20T02:02:53+09:00 Subject: Re: uninitialized constant Myclass (NameError) Hi, At Mon, 18 Aug 2003 18:23:45 +0900, ts wrote: > D> I believe that using module::class notation is an option and the original way > D> should still work. Am I right? > > There is an inconsistance between rb_const_defined_at() and > rb_const_get_at() Do you mean this? Index: eval.c =================================================================== RCS file: /src/ruby/eval.c,v retrieving revision 1.515 diff -u -2 -p -r1.515 eval.c --- eval.c 14 Aug 2003 17:19:23 -0000 1.515 +++ eval.c 19 Aug 2003 17:00:37 -0000 @@ -3533,6 +3533,6 @@ rb_eval(self, n) cbase = class_prefix(self, node->nd_cpath); cname = node->nd_cpath->nd_mid; - if (rb_const_defined_at(cbase, cname)) { - klass = rb_const_get_at(cbase, cname); + if (rb_const_defined(cbase, cname)) { + klass = rb_const_get(cbase, cname); if (TYPE(klass) != T_CLASS) { rb_raise(rb_eTypeError, "%s is not a class", @@ -3576,6 +3576,6 @@ rb_eval(self, n) cbase = class_prefix(self, node->nd_cpath); cname = node->nd_cpath->nd_mid; - if (rb_const_defined_at(cbase, cname)) { - module = rb_const_get_at(cbase, cname); + if (rb_const_defined(cbase, cname)) { + module = rb_const_get(cbase, cname); if (TYPE(module) != T_MODULE) { rb_raise(rb_eTypeError, "%s is not a module", -- Nobu Nakada