summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-07-20 07:11:35 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-07-20 07:11:35 +0000
commit39c56c33490275091939ba33ee18b03b140ea3b7 (patch)
tree0a0e7b1a90c1475d32669798d0ae72647560616c /eval.c
parent98a54d46f74bf3c7b60b83bcc73e0b312425a1bb (diff)
* compile.c, compile.h (DECL_ANCHOR, INIT_ANCHOR): split not to
initialize aggregations with dynamic values. [ruby-talk:259306] * eval.c (rb_protect): not to initialize aggregations with dynamic values. [ruby-talk:259306] * gc.c (mark_current_machine_context): ditto. * thread.c (thgroup_list, call_trace_func): ditto. * vm.c (vm_init_redefined_flag): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/eval.c b/eval.c
index 53b4ab2025..ab051e3991 100644
--- a/eval.c
+++ b/eval.c
@@ -1146,9 +1146,9 @@ rb_protect(VALUE (*proc) (VALUE), VALUE data, int *state)
int status;
rb_thread_t *th = GET_THREAD();
rb_control_frame_t *cfp = th->cfp;
- struct rb_vm_trap_tag trap_tag = {
- th->trap_tag,
- };
+ struct rb_vm_trap_tag trap_tag;
+
+ trap_tag.prev = th->trap_tag;
PUSH_TAG();
th->trap_tag = &trap_tag;