summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y15
1 files changed, 14 insertions, 1 deletions
diff --git a/parse.y b/parse.y
index 1ba5da4375..50c8e389d4 100644
--- a/parse.y
+++ b/parse.y
@@ -437,6 +437,11 @@ mlhs : mlhs_head
{
$$ = NEW_MASGN(NEW_LIST($1), 0);
}
+ | tLPAREN mlhs ')'
+ {
+ $$ = $2;
+ }
+
| mlhs_head tSTAR lhs
{
$$ = NEW_MASGN(NEW_LIST($1), $3);
@@ -455,11 +460,19 @@ mlhs : mlhs_head
}
mlhs_head : lhs ','
+ | tLPAREN mlhs ')' ','
+ {
+ $$ = $2;
+ }
mlhs_tail : lhs
{
$$ = NEW_LIST($1);
}
+ | tLPAREN mlhs ')'
+ {
+ $$ = NEW_LIST($2);
+ }
| mlhs_tail ',' lhs
{
$$ = list_append($1, $3);
@@ -3428,7 +3441,7 @@ assignable(id, val)
}
else{
if (!dyna_var_defined(id)) {
- dyna_var_asgn(id, 0);
+ dyna_var_push(id, 0);
lhs = NEW_DASGN_PUSH(id, val);
}
else {