diff options
| author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-06-22 09:12:24 +0000 |
|---|---|---|
| committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2001-06-22 09:12:24 +0000 |
| commit | fcaa08e2183c6e3c0d8cbf8d3c2294dbab1c885b (patch) | |
| tree | b100f68b08e5f1ae5338055ae798320a4a339e01 /parse.y | |
| parent | 457312187b627f002e2d712619ec376f228cdfb0 (diff) | |
| download | ruby-fcaa08e2183c6e3c0d8cbf8d3c2294dbab1c885b.tar.gz ruby-fcaa08e2183c6e3c0d8cbf8d3c2294dbab1c885b.tar.xz ruby-fcaa08e2183c6e3c0d8cbf8d3c2294dbab1c885b.zip | |
* eval.c (rb_yield_0): no mvalue_to_svalue conversion here.
* eval.c (massign): takes svalue, convert it to mvalue inside.
* eval.c (rb_eval): parameters for yield/return are always
svalues now.
* eval.c (svalue_to_mvalue): more strict conversion.
* eval.c (mvalue_to_svalue): ditto.
* st.c (new_size): prime hash size enabled.
* ext/socket/socket.c (Init_socket): SO_* constants added.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@1535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
| -rw-r--r-- | parse.y | 15 |
1 files changed, 6 insertions, 9 deletions
@@ -426,7 +426,7 @@ stmt : kALIAS fitem {lex_state = EXPR_FNAME;} fitem } | lhs '=' mrhs_basic { - $$ = node_assign($1, $3); + $$ = node_assign($1, NEW_SVALUE($3)); } | mlhs '=' mrhs { @@ -1133,6 +1133,9 @@ mrhs : arg $$ = $1; } | mrhs_basic + { + $$ = NEW_SVALUE($1); + } mrhs_basic : args ',' arg { @@ -1147,7 +1150,7 @@ mrhs_basic : args ',' arg | tSTAR arg { value_expr($2); - $$ = NEW_REXPAND($2); + $$ = $2; } primary : literal @@ -4666,16 +4669,10 @@ ret_args(node) NODE *node; { if (node) { - if (nd_type(node) == NODE_ARRAY && node->nd_next == 0) { - node = node->nd_head; - } - else if (nd_type(node) == NODE_BLOCK_PASS) { + if (nd_type(node) == NODE_BLOCK_PASS) { rb_compile_error("block argument should not be given"); } } - if (nd_type(node) == NODE_RESTARGS) { - nd_set_type(node, NODE_REXPAND); - } return node; } |
