diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-08-04 15:18:38 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-08-04 15:18:38 +0000 |
commit | 710b99a16b9093e2542e8e8a76999fb6b4b6c643 (patch) | |
tree | d50d1c1e900a70e0c8d7ea44cdbdb7810412f60e /parse.y | |
parent | c9a8baddbc1fb8e87bd82a47bcd5593f595658de (diff) | |
download | ruby-710b99a16b9093e2542e8e8a76999fb6b4b6c643.tar.gz |
* eval.c (formal_assign): returns position of rest arguments variable.
* parse.y (f_rest_arg): use anonymous variable for rest arguments.
fixed: [ruby-dev:26647]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -4169,7 +4169,12 @@ f_rest_arg : restarg_mark tIDENTIFIER | restarg_mark { /*%%%*/ - $$ = (NODE*)Qnil; + if (dyna_in_block()) { + $$ = NEW_DASGN_CURR(internal_id(), 0); + } + else { + $$ = NEW_NODE(NODE_LASGN,0,0,local_append(0)); + } /*% $$ = dispatch1(restparam, Qnil); %*/ |