From: Yukihiro Matsumoto Date: 2004-09-04T01:40:46+09:00 Subject: [ruby-dev:24217] Re: 1.instance_eval "@@a" dumps core まつもと ゆきひろです In message "Re: [ruby-dev:24213] 1.instance_eval "@@a" dumps core" on Fri, 3 Sep 2004 18:40:57 +0900, Tanaka Akira writes: | |次のように、1.instance_eval "@@a" とすると core を吐きます。 [ruby-dev:24103]と同根でした。しかも、 class Fixnum def b binding end end bb = eval("1.instance_eval \"binding\"", 1.b) eval("@@a", bb) がcoreを吐くのでこのときの修正が不完全であったことも露呈しま した。ということで、以下のように修正してみました。 --- eval.c 3 Sep 2004 09:00:51 -0000 1.693 +++ eval.c 3 Sep 2004 16:40:06 -0000 @@ -1781,2 +1781,5 @@ cvar_cbase() } + if (NIL_P(cref->nd_clss)) { + rb_raise(rb_eTypeError, "no class variables available"); + } return cref->nd_clss;