aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--eval.c4
2 files changed, 8 insertions, 1 deletions
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 <ocean@m2.ccsnet.ne.jp>
* 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 <matz@ruby-lang.org>
+
+ * eval.c (rb_thread_start_1): initialize newly pushed frame.
+ fixed: [ruby-dev:25707]
+
Thu Feb 17 13:46:00 2005 Nathaniel Talbott <ntalbott@ruby-lang.org>
* 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) {