ruby-changes:14582
From: mame <ko1@a...>
Date: Tue, 26 Jan 2010 20:28:55 +0900 (JST)
Subject: [ruby-changes:14582] Ruby:r26425 (trunk): * vm.c (rb_vm_invoke_proc): this function must not catch TAG_RETURN
mame 2010-01-26 20:28:38 +0900 (Tue, 26 Jan 2010) New Revision: 26425 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=26425 Log: * vm.c (rb_vm_invoke_proc): this function must not catch TAG_RETURN because vm_exec does. This caused rubyspec error. [ruby-dev:40158] Modified files: trunk/ChangeLog trunk/vm.c Index: ChangeLog =================================================================== --- ChangeLog (revision 26424) +++ ChangeLog (revision 26425) @@ -1,3 +1,8 @@ +Tue Jan 26 20:23:22 2010 Yusuke Endoh <mame@t...> + + * vm.c (rb_vm_invoke_proc): this function must not catch TAG_RETURN + because vm_exec does. This caused rubyspec error. [ruby-dev:40158] + Tue Jan 26 20:21:28 2010 Masatoshi SEKI <m_seki@m...> * lib/drb/eq.rb: fix circular requrie in drb. Index: vm.c =================================================================== --- vm.c (revision 26424) +++ vm.c (revision 26425) @@ -609,21 +609,6 @@ } if (state) { - if (state == TAG_RETURN && proc->is_lambda) { - VALUE err = th->errinfo; - VALUE *escape_dfp = GET_THROWOBJ_CATCH_POINT(err); - - if (escape_dfp == cfp->dfp) { - printf("ok\n"); - state = 0; - th->errinfo = Qnil; - th->cfp = cfp; - val = GET_THROWOBJ_VAL(err); - } - } - } - - if (state) { JUMP_TAG(state); } return val; -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/