ruby-changes:3962
From: ko1@a...
Date: Wed, 13 Feb 2008 04:16:32 +0900 (JST)
Subject: [ruby-changes:3962] nobu - Ruby:r15452 (trunk): * parse.y (stmt, arg): reverted r15450.
nobu 2008-02-13 04:15:46 +0900 (Wed, 13 Feb 2008) New Revision: 15452 Modified files: trunk/ChangeLog trunk/parse.y Log: * parse.y (stmt, arg): reverted r15450. [ruby-core:15526] http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/parse.y?r1=15452&r2=15451&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=15452&r2=15451&diff_format=u Index: ChangeLog =================================================================== --- ChangeLog (revision 15451) +++ ChangeLog (revision 15452) @@ -1,7 +1,5 @@ -Wed Feb 13 03:12:54 2008 Nobuyoshi Nakada <nobu@r...> +Wed Feb 13 04:15:44 2008 Nobuyoshi Nakada <nobu@r...> - * parse.y (stmt, arg): concat opt_call_args only if non-null. - * parse.y (arg_concat_gen, arg_append_gen): optimize for array push. * parse.y (arg_concat_gen): optimize for array concat. Index: parse.y =================================================================== --- parse.y (revision 15451) +++ parse.y (revision 15452) @@ -1027,10 +1027,11 @@ | primary_value '[' opt_call_args rbracket tOP_ASGN command_call { /*%%%*/ - NODE *args = $6; + NODE *args; - value_expr(args); - if ($3) args = arg_concat(args, $3); + value_expr($6); + if (!$3) $3 = NEW_ZARRAY(); + args = arg_concat($6, $3); if ($5 == tOROP) { $5 = 0; } @@ -1828,10 +1829,11 @@ | primary_value '[' opt_call_args rbracket tOP_ASGN arg { /*%%%*/ - NODE *args = $6; + NODE *args; - value_expr(args); - if ($3) args = arg_concat(args, $3); + value_expr($6); + if (!$3) $3 = NEW_ZARRAY(); + args = arg_concat($6, $3); if ($5 == tOROP) { $5 = 0; } -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/