diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-27 05:25:54 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-06-27 05:25:54 +0000 |
commit | 7a6cafc88e3b41e94d6473683580b36a39f59be1 (patch) | |
tree | e2315d2a118ee9a3a21db7529da943ee8402fd79 /vm.c | |
parent | f1d4745627f5f33fc0aa91904efca7fb26614ee8 (diff) | |
download | ruby-7a6cafc88e3b41e94d6473683580b36a39f59be1.tar.gz |
* vm.c (vm_eval_body): if thrown exception is frozen, reraise it to
create a new instance.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm.c')
-rw-r--r-- | vm.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -1072,6 +1072,7 @@ vm_eval_body(rb_thread_t *th) err = th->errinfo; if (state == TAG_RAISE) { + if (OBJ_FROZEN(err)) rb_exc_raise(err); rb_ivar_set(err, idThrowState, INT2FIX(state)); } |