summaryrefslogtreecommitdiffstats
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
commitc89af9fc53fe324a9c8247a423e6c35f471e1c9d (patch)
tree881e313831cafec35bfc80a3b2f15f1b98426853 /parse.y
parentbc9f3cf198ad1d1415e58f2ce8109d84c7cb3c30 (diff)
downloadruby-c89af9fc53fe324a9c8247a423e6c35f471e1c9d.tar.gz
ruby-c89af9fc53fe324a9c8247a423e6c35f471e1c9d.tar.xz
ruby-c89af9fc53fe324a9c8247a423e6c35f471e1c9d.zip
2000-05-17
git-svn-id: http://svn.ruby-lang.org/repos/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 a34c5aabf..b4a96de5c 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);