diff options
author | shugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-12-03 18:25:57 +0000 |
---|---|---|
committer | shugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-12-03 18:25:57 +0000 |
commit | 7dbfe89630f429255ae346cd02d7ca7d2d109650 (patch) | |
tree | e6bb9639b21f89e4f250fe523e3602e6abc05bc5 /eval.c | |
parent | 9998481d4efaf86dde652617ed3b2777924c3373 (diff) | |
download | ruby-7dbfe89630f429255ae346cd02d7ca7d2d109650.tar.gz |
* compile.c (compile_cpath, iseq_compile_each): reverted
constant/class variable lookup in instance_eval etc. to the
behavior of 1.8.
* eval.c (rb_mod_nesting): ditto.
* insns.def (putspecialobject, defineclass): ditto.
* node.h (NODE_FL_CREF_PUSHED_BY_EVAL): ditto.
* vm_core.h (VM_SPECIAL_OBJECT_CONST_BASE): ditto.
* vm_eval.c (yield_under, eval_under): ditto.
* vm_insnhelper.c (vm_cref_push, vm_get_const_base,
vm_get_ev_const, vm_get_cvar_base): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -274,7 +274,8 @@ rb_mod_nesting(void) while (cref && cref->nd_next) { VALUE klass = cref->nd_clss; - if (!NIL_P(klass)) { + if (!(cref->flags & NODE_FL_CREF_PUSHED_BY_EVAL) && + !NIL_P(klass)) { rb_ary_push(ary, klass); } cref = cref->nd_next; |