diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-02-13 04:30:08 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-02-13 04:30:08 +0000 |
commit | fdbf3a76a18d6282953a2a7d3a6af222f6fa1be2 (patch) | |
tree | 2ad1b9d864f89d25e8ed00d8a2fd54c17ac7afc6 | |
parent | 6522a4681f7c8916777edb5c045b3cd3c83f5260 (diff) |
* eval.c (eval): should push class from binding if supplied.
[ruby-core:07347]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@9917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | eval.c | 2 |
2 files changed, 7 insertions, 0 deletions
@@ -1,3 +1,8 @@ +Mon Feb 13 13:27:00 2006 Yukihiro Matsumoto <matz@ruby-lang.org> + + * eval.c (eval): should push class from binding if supplied. + [ruby-core:07347] + Mon Feb 13 00:04:00 2006 Masatoshi SEKI <m_seki@mva.biglobe.ne.jp> * lib/erb.rb (ERB::Compiler): add instance variable @insert_cmd to @@ -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; |