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 | def42c9a0cd274202da56531c19e0a4bee3364e3 (patch) | |
tree | b100f68b08e5f1ae5338055ae798320a4a339e01 /parse.y | |
parent | ef8e0b4dffaec6789a1582d841ddb563cac2115d (diff) |
* 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: svn+ssh://ci.ruby-lang.org/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; } |