From 7a6cafc88e3b41e94d6473683580b36a39f59be1 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 27 Jun 2008 05:25:54 +0000 Subject: * 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 --- vm.c | 1 + 1 file changed, 1 insertion(+) (limited to 'vm.c') diff --git a/vm.c b/vm.c index 83b6ea9bd4..775dbd59ed 100644 --- a/vm.c +++ b/vm.c @@ -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)); } -- cgit v1.2.3