diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-03-12 05:56:57 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-03-12 05:56:57 +0000 |
commit | c5feeb9ac11863086e7a3a8239dbc13cce988876 (patch) | |
tree | 75d7222d142406cceaeeba6859bd9658190a03c2 | |
parent | a2229db3e8a88002697ee2fcb45128bcf4914bbd (diff) | |
download | ruby-c5feeb9ac11863086e7a3a8239dbc13cce988876.tar.gz |
* node.h (NEW_YIELD), parse.y (new_yield_gen): array-values flags
has been already obsolete. patch by Thomas Enebo.
[ruby-core:41929][Bug #5847]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | node.h | 2 | ||||
-rw-r--r-- | parse.y | 17 |
3 files changed, 11 insertions, 14 deletions
@@ -1,3 +1,9 @@ +Mon Mar 12 14:56:52 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * node.h (NEW_YIELD), parse.y (new_yield_gen): array-values flags + has been already obsolete. patch by Thomas Enebo. + [ruby-core:41929][Bug #5847] + Mon Mar 12 12:44:33 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> * vm_method.c (Init_eval_method): copy basic methods to Exception. @@ -376,7 +376,7 @@ typedef struct RNode { #define NEW_RESBODY(a,ex,n) NEW_NODE(NODE_RESBODY,n,ex,a) #define NEW_ENSURE(b,en) NEW_NODE(NODE_ENSURE,b,0,en) #define NEW_RETURN(s) NEW_NODE(NODE_RETURN,s,0,0) -#define NEW_YIELD(a,s) NEW_NODE(NODE_YIELD,a,0,s) +#define NEW_YIELD(a) NEW_NODE(NODE_YIELD,a,0,0) #define NEW_LIST(a) NEW_ARRAY(a) #define NEW_ARRAY(a) NEW_NODE(NODE_ARRAY,a,1,0) #define NEW_ZARRAY() NEW_NODE(NODE_ZARRAY,0,0,0) @@ -2745,7 +2745,7 @@ primary : literal | keyword_yield '(' rparen { /*%%%*/ - $$ = NEW_YIELD(0, Qfalse); + $$ = NEW_YIELD(0); /*% $$ = dispatch1(yield, dispatch1(paren, arg_new())); %*/ @@ -2753,7 +2753,7 @@ primary : literal | keyword_yield { /*%%%*/ - $$ = NEW_YIELD(0, Qfalse); + $$ = NEW_YIELD(0); /*% $$ = dispatch0(yield0); %*/ @@ -9634,18 +9634,9 @@ ret_args_gen(struct parser_params *parser, NODE *node) static NODE * new_yield_gen(struct parser_params *parser, NODE *node) { - long state = Qtrue; + if (node) no_blockarg(parser, node); - if (node) { - no_blockarg(parser, node); - if (node && nd_type(node) == NODE_SPLAT) { - state = Qtrue; - } - } - else { - state = Qfalse; - } - return NEW_YIELD(node, state); + return NEW_YIELD(node); } static NODE* |