[前][次][番号順一覧][スレッド一覧]

ruby-changes:9233

From: matz <ko1@a...>
Date: Tue, 16 Dec 2008 09:17:17 +0900 (JST)
Subject: [ruby-changes:9233] Ruby:r20770 (trunk): * parse.y (block_call): block should not be given to yield.

matz	2008-12-16 09:16:46 +0900 (Tue, 16 Dec 2008)

  New Revision: 20770

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=20770

  Log:
    * parse.y (block_call): block should not be given to yield.
      [ruby-core:20583]

  Modified files:
    trunk/ChangeLog
    trunk/parse.y

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 20769)
+++ ChangeLog	(revision 20770)
@@ -1,3 +1,8 @@
+Tue Dec 16 09:14:28 2008  Yukihiro Matsumoto  <matz@r...>
+
+	* parse.y (block_call): block should not be given to yield.
+	  [ruby-core:20583]
+
 Mon Dec 15 23:48:39 2008  Yukihiro Matsumoto  <matz@r...>
 
 	* thread.c (sleep_timeval): cast tv_usec to long to shut up
Index: parse.y
===================================================================
--- parse.y	(revision 20769)
+++ parse.y	(revision 20770)
@@ -3497,7 +3497,12 @@
 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);

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]