diff options
| author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-07-27 14:30:09 +0000 |
|---|---|---|
| committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-07-27 14:30:09 +0000 |
| commit | 498c4c2442ca64e5760787fd796bf9b67cb9c756 (patch) | |
| tree | df2abda7036a17c288f1837320dfc6360174f833 /parse.y | |
| parent | 59f59e10146d021f6fe35f584341f5a98f0a1faa (diff) | |
| download | ruby-498c4c2442ca64e5760787fd796bf9b67cb9c756.tar.gz ruby-498c4c2442ca64e5760787fd796bf9b67cb9c756.tar.xz ruby-498c4c2442ca64e5760787fd796bf9b67cb9c756.zip | |
* gc.c (obj_free): make message formant consistent with one from
gc_mark(). [ruby-talk:149668]
* sprintf.c (quad_t): prepare quad_t as well. [ruby-talk:149668]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@8852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
| -rw-r--r-- | parse.y | 23 |
1 files changed, 12 insertions, 11 deletions
@@ -3178,7 +3178,8 @@ lambda : { lambda_body { /*%%%*/ - $$ = NEW_LAMBDA($2, $4); + $$ = $2; + $$->nd_body = block_append($$->nd_body, $4); dyna_pop($<vars>1); /*% $$ = dispatch2(lambda, $2, $4); @@ -3186,42 +3187,42 @@ lambda : { } ; -f_larglist : '(' f_args rparen +f_larglist : '(' f_args opt_bv_decl rparen { /*%%%*/ - $$ = $2; + $$ = NEW_LAMBDA($2, $3); /*% $$ = dispatch1(paren, $2); %*/ } - | f_arg opt_terms + | f_arg opt_bv_decl { /*%%%*/ - $$ = NEW_ARGS($1, 0, 0); + $$ = NEW_LAMBDA(NEW_ARGS($1, 0, 0), $2); /*% $$ = dispatch4(params, $1, Qnil, Qnil, Qnil); %*/ } - | f_arg ',' f_rest_arg opt_terms + | f_arg ',' f_rest_arg opt_bv_decl { /*%%%*/ - $$ = NEW_ARGS($1, 0, $3); + $$ = NEW_LAMBDA(NEW_ARGS($1, 0, $3), $4); /*% $$ = dispatch4(params, $1, Qnil, $3, Qnil); %*/ } - | f_rest_arg opt_terms + | f_rest_arg opt_bv_decl { /*%%%*/ - $$ = NEW_ARGS(0, 0, $1); + $$ = NEW_LAMBDA(NEW_ARGS(0, 0, $1), $2); /*% $$ = dispatch4(params, Qnil, Qnil, $1, Qnil); %*/ } - | /* none */ + | opt_bv_decl { /*%%%*/ - $$ = NEW_ARGS(0, 0, 0); + $$ = NEW_LAMBDA(NEW_ARGS(0, 0, 0), $1); /*% $$ = dispatch4(params, Qnil, Qnil, Qnil, Qnil); %*/ |
