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

ruby-changes:9041

From: nobu <ko1@a...>
Date: Mon, 8 Dec 2008 13:53:46 +0900 (JST)
Subject: [ruby-changes:9041] Ruby:r20578 (ruby_1_8): * eval.c (rb_yield_0): Qundef means no argument. [ruby-Bugs-22525]

nobu	2008-12-08 13:51:43 +0900 (Mon, 08 Dec 2008)

  New Revision: 20578

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

  Log:
    * eval.c (rb_yield_0): Qundef means no argument.  [ruby-Bugs-22525]

  Modified files:
    branches/ruby_1_8/ChangeLog
    branches/ruby_1_8/eval.c

Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog	(revision 20577)
+++ ruby_1_8/ChangeLog	(revision 20578)
@@ -1,3 +1,7 @@
+Mon Dec  8 13:51:41 2008  Nobuyoshi Nakada  <nobu@r...>
+
+	* eval.c (rb_yield_0): Qundef means no argument.  [ruby-Bugs-22525]
+
 Sun Dec  7 23:47:37 2008  Nobuyoshi Nakada  <nobu@r...>
 
 	* configure.in (LIBPATHFLAG): use numbered specifier if RPATHFLAG
Index: ruby_1_8/eval.c
===================================================================
--- ruby_1_8/eval.c	(revision 20577)
+++ ruby_1_8/eval.c	(revision 20578)
@@ -5060,7 +5060,7 @@
 	    switch (node->nd_state) {
 	      case YIELD_FUNC_LAMBDA:
 		if (!avalue) {
-		    val = rb_ary_new3(1, val);
+		    val = (val == Qundef) ? rb_ary_new2(0) : rb_ary_new3(1, val);
 		}
 		break;
 	      case YIELD_FUNC_AVALUE:

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

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