From 587afe728b55eacb8ed8dbf8db2f092625f18063 Mon Sep 17 00:00:00 2001 From: matz Date: Tue, 16 Dec 2008 00:16:46 +0000 Subject: * parse.y (block_call): block should not be given to yield. [ruby-core:20583] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20770 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- parse.y | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'parse.y') diff --git a/parse.y b/parse.y index 2cf9006104..6983a2cdb2 100644 --- a/parse.y +++ b/parse.y @@ -3497,7 +3497,12 @@ do_block : keyword_do_block block_call : command do_block { /*%%%*/ - block_dup_check($1->nd_args, $2); + if (nd_type($1) == NODE_YIELD) { + compile_error(PARSER_ARG "block given to yield"); + } + else { + block_dup_check($1->nd_args, $2); + } $2->nd_iter = $1; $$ = $2; fixpos($$, $1); -- cgit v1.2.3