summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-05-17 04:38:19 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-05-17 04:38:19 +0000
commit133ff3421a9867ec49a23df97aba3db63fc78755 (patch)
tree881e313831cafec35bfc80a3b2f15f1b98426853 /parse.y
parent1fc61ca55fd736dbe63c37abde8239601ce3b2aa (diff)
2000-05-17
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y5
1 files changed, 3 insertions, 2 deletions
diff --git a/parse.y b/parse.y
index a34c5aabf3..b4a96de5c2 100644
--- a/parse.y
+++ b/parse.y
@@ -401,14 +401,12 @@ expr : mlhs '=' mrhs
}
| kRETURN ret_args
{
- value_expr($2);
if (!compile_for_eval && !cur_mid && !in_single)
yyerror("return appeared outside of method");
$$ = NEW_RETURN($2);
}
| kYIELD ret_args
{
- value_expr($2);
$$ = NEW_YIELD($2);
}
| command_call
@@ -4095,6 +4093,9 @@ value_expr(node)
}
return value_expr(node->nd_head);
+ case NODE_BEGIN:
+ return value_expr(node->nd_body);
+
case NODE_IF:
return value_expr(node->nd_body) && value_expr(node->nd_else);