* 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
This commit is contained in:
nobu 2008-06-27 05:25:54 +00:00
Родитель f1d4745627
Коммит 7a6cafc88e
2 изменённых файлов: 6 добавлений и 0 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Fri Jun 27 14:25:52 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm.c (vm_eval_body): if thrown exception is frozen, reraise it to
create a new instance.
Fri Jun 27 13:29:26 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* include/ruby/intern.h (rb_str_new2, rb_tainted_str_new2,

1
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));
}