ruby-changes:20435
From: mame <ko1@a...>
Date: Sun, 10 Jul 2011 11:42:17 +0900 (JST)
Subject: [ruby-changes:20435] mame:r32483 (trunk): * parse.y (reduce_nodes_gen): NODE_RETURN in rescue body must not be
mame 2011-07-10 11:42:07 +0900 (Sun, 10 Jul 2011) New Revision: 32483 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=32483 Log: * parse.y (reduce_nodes_gen): NODE_RETURN in rescue body must not be reduced when there is an else clause. This caused bizarre behavior in [Bug #4473] [ruby-core:35629] [ruby-core:37884]. Modified files: trunk/ChangeLog trunk/parse.y Index: ChangeLog =================================================================== --- ChangeLog (revision 32482) +++ ChangeLog (revision 32483) @@ -1,3 +1,9 @@ +Sun Jul 10 11:35:29 2011 Yusuke Endoh <mame@t...> + + * parse.y (reduce_nodes_gen): NODE_RETURN in rescue body must not be + reduced when there is an else clause. This caused bizarre behavior + in [Bug #4473] [ruby-core:35629] [ruby-core:37884]. + Sun Jul 10 09:46:14 2011 Masaya Tarui <tarui@r...> * range.c (range_max): fix behavior with excluded end value. Index: parse.y =================================================================== --- parse.y (revision 32482) +++ parse.y (revision 32483) @@ -8713,6 +8713,10 @@ if (!subnodes(nd_head, nd_resq)) goto end; break; case NODE_RESCUE: + if (node->nd_else) { + body = &node->nd_resq; + break; + } if (!subnodes(nd_head, nd_resq)) goto end; break; default: -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/