From 581135e4fd4f0c44435f5bb1b62c0fad45d26215 Mon Sep 17 00:00:00 2001 From: matz Date: Mon, 13 Feb 2006 04:30:08 +0000 Subject: * eval.c (eval): should push class from binding if supplied. [ruby-core:07347] git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@9917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ eval.c | 2 ++ 2 files changed, 7 insertions(+) diff --git a/ChangeLog b/ChangeLog index 81cbe07cf..af49d287b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Feb 13 13:27:00 2006 Yukihiro Matsumoto + + * eval.c (eval): should push class from binding if supplied. + [ruby-core:07347] + Mon Feb 13 00:04:00 2006 Masatoshi SEKI * lib/erb.rb (ERB::Compiler): add instance variable @insert_cmd to diff --git a/eval.c b/eval.c index 87cf6127b..85052c16f 100644 --- a/eval.c +++ b/eval.c @@ -6341,6 +6341,7 @@ eval(self, src, scope, file, line) file = ruby_sourcefile; line = ruby_sourceline; } + PUSH_CLASS(data ? data->klass : ruby_class); ruby_in_eval++; if (TYPE(ruby_class) == T_ICLASS) { ruby_class = RBASIC(ruby_class)->klass; @@ -6361,6 +6362,7 @@ eval(self, src, scope, file, line) result = eval_node(self, node); } POP_TAG(); + POP_CLASS(); ruby_in_eval--; if (!NIL_P(scope)) { int dont_recycle = ruby_scope->flags & SCOPE_DONT_RECYCLE; -- cgit