From 7c52d5f8cf2987ceddf8e70ae99c11ac22a0a056 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 20 Dec 2005 13:41:29 +0000 Subject: [PATCH] * eval.c (eval_under_i): evaluate source in caller's frame. [ruby-dev:28076] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ eval.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/ChangeLog b/ChangeLog index ab9217cfab..ada649ad3e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Dec 20 22:41:17 2005 Nobuyoshi Nakada + + * eval.c (eval_under_i): evaluate source in caller's frame. + [ruby-dev:28076] + Tue Dec 20 12:53:23 2005 why the lucky stiff * ext/syck/rubyext.c (syck_emitter_reset): to ensure compatibility diff --git a/eval.c b/eval.c index 3ff37334a5..7fde742b2a 100644 --- a/eval.c +++ b/eval.c @@ -6315,7 +6315,11 @@ static VALUE eval_under_i(VALUE arg) { VALUE *args = (VALUE *)arg; + struct FRAME *f = ruby_frame; + if (f && (f = f->prev) && (f = f->prev)) { + ruby_frame = f; + } return eval(args[0], args[1], Qnil, (char*)args[2], (int)args[3]); }