diff --git a/ChangeLog b/ChangeLog index ba6a5a9f30..d930b987e7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,11 @@ +Wed Feb 15 10:09:51 2006 Yukihiro Matsumoto + + * eval.c (yield_under_i): should not pass self as an argument to + the block for instance_eval. [ruby-core:07364] + Wed Feb 15 09:20:35 2006 Yukihiro Matsumoto - * eval.c (rb_obj_instance_eval): should no singleton classes for + * eval.c (rb_obj_instance_eval): should be no singleton classes for true, false, and nil. [ruby-dev:28186] Tue Feb 14 20:26:00 2006 Yukihiro Matsumoto diff --git a/eval.c b/eval.c index c2e163452e..ad05cb8b69 100644 --- a/eval.c +++ b/eval.c @@ -6466,7 +6466,6 @@ yield_under_i(VALUE arg) VALUE avalue = Qtrue; if (args[0] == Qundef) { avalue = Qfalse; - args[0] = args[1]; } return rb_yield_0(args[0], args[1], ruby_cbase, YIELD_PUBLIC_DEF, avalue); } @@ -6475,7 +6474,7 @@ yield_under_i(VALUE arg) static VALUE yield_under(VALUE under, VALUE self, VALUE values) { - VALUE args[4]; + VALUE args[2]; args[0] = values; args[1] = self; return exec_under(yield_under_i, under, (VALUE)args);