From 02b8414d98c0cc66b7b3870c26a59dd8c5600cf4 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 17 Feb 2005 14:29:20 +0000 Subject: [PATCH] * eval.c (rb_thread_start_1): initialize newly pushed frame. fixed: [ruby-dev:25707] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ eval.c | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 954aaabee3..b28a2386b3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,11 @@ Thu Feb 17 20:09:23 2005 Hirokazu Yamamoto * test/digest/test_digest.rb: separate test case for each algorithms. (Thanks nobu) [ruby-dev:25412] +Thu Feb 17 14:31:52 2005 Yukihiro Matsumoto + + * eval.c (rb_thread_start_1): initialize newly pushed frame. + fixed: [ruby-dev:25707] + Thu Feb 17 13:46:00 2005 Nathaniel Talbott * lib/test/unit/collector.rb (collect_file): now deletes paths added diff --git a/eval.c b/eval.c index 78fa74d1c6..911a10a2f6 100644 --- a/eval.c +++ b/eval.c @@ -11756,7 +11756,9 @@ rb_thread_start_1() ruby_cref = ip->cref; ruby_dyna_vars = ((struct BLOCK *)DATA_PTR(proc))->dyna_vars; PUSH_FRAME(); - _frame.iter = ITER_CUR; + *ruby_frame = *ip->frame; + ruby_frame->prev = ip->frame; + ruby_frame->iter = ITER_CUR; PUSH_TAG(PROT_NONE); if ((state = EXEC_TAG()) == 0) { if (THREAD_SAVE_CONTEXT(th) == 0) {