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

ruby-changes:18773

From: nobu <ko1@a...>
Date: Sat, 5 Feb 2011 21:47:38 +0900 (JST)
Subject: [ruby-changes:18773] Ruby:r30799 (trunk): * parse.y (mlhs_basic): include mlhs_post for ripper. a patch

nobu	2011-02-05 21:47:16 +0900 (Sat, 05 Feb 2011)

  New Revision: 30799

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

  Log:
    * parse.y (mlhs_basic): include mlhs_post for ripper.  a patch
      from Michael Edgar at [ruby-core:35078].

  Modified files:
    trunk/ChangeLog
    trunk/parse.y
    trunk/test/ripper/test_parser_events.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 30798)
+++ ChangeLog	(revision 30799)
@@ -1,3 +1,8 @@
+Sat Feb  5 21:47:09 2011  Nobuyoshi Nakada  <nobu@r...>
+
+	* parse.y (mlhs_basic): include mlhs_post for ripper.  a patch
+	  from Michael Edgar at [ruby-core:35078].
+
 Sat Feb  5 21:22:21 2011  Nobuyoshi Nakada  <nobu@r...>
 
 	* lib/test/unit/assertions.rb (assert_block): move from
Index: parse.y
===================================================================
--- parse.y	(revision 30798)
+++ parse.y	(revision 30799)
@@ -1518,7 +1518,8 @@
 		    /*%%%*/
 			$$ = NEW_MASGN($1, NEW_POSTARG(-1, $4));
 		    /*%
-			$$ = mlhs_add_star($1, Qnil);
+			$1 = mlhs_add_star($1, Qnil);
+			$$ = mlhs_add($1, $4);
 		    %*/
 		    }
 		| tSTAR mlhs_node
@@ -1534,7 +1535,8 @@
 		    /*%%%*/
 			$$ = NEW_MASGN(0, NEW_POSTARG($2,$4));
 		    /*%
-			$$ = mlhs_add_star(mlhs_new(), $2);
+			$2 = mlhs_add_star(mlhs_new(), $2);
+			$$ = mlhs_add($2, $4);
 		    %*/
 		    }
 		| tSTAR
@@ -1551,6 +1553,7 @@
 			$$ = NEW_MASGN(0, NEW_POSTARG(-1, $3));
 		    /*%
 			$$ = mlhs_add_star(mlhs_new(), Qnil);
+			$$ = mlhs_add($$, $3);
 		    %*/
 		    }
 		;
Index: test/ripper/test_parser_events.rb
===================================================================
--- test/ripper/test_parser_events.rb	(revision 30798)
+++ test/ripper/test_parser_events.rb	(revision 30799)
@@ -368,6 +368,7 @@
 
   def test_mlhs_add_star
     bug2232 = '[ruby-core:26163]'
+    bug4364 = '[ruby-core:35078]'
 
     thru_mlhs_add_star = false
     tree = parse("a, *b = 1, 2", :on_mlhs_add_star) {thru_mlhs_add_star = true}
@@ -377,6 +378,18 @@
     tree = parse("a, *b, c = 1, 2", :on_mlhs_add_star) {thru_mlhs_add_star = true}
     assert_equal true, thru_mlhs_add_star
     assert_match(/mlhs_add\(mlhs_add_star\(mlhs_add\(mlhs_new\(\),a\),b\),mlhs_add\(mlhs_new\(\),c\)\)/, tree, bug2232)
+    thru_mlhs_add_star = false
+    tree = parse("a, *, c = 1, 2", :on_mlhs_add_star) {thru_mlhs_add_star = true}
+    assert_equal true, thru_mlhs_add_star
+    assert_match(/mlhs_add\(mlhs_add_star\(mlhs_add\(mlhs_new\(\),a\)\),mlhs_add\(mlhs_new\(\),c\)\)/, tree, bug4364)
+    thru_mlhs_add_star = false
+    tree = parse("*b, c = 1, 2", :on_mlhs_add_star) {thru_mlhs_add_star = true}
+    assert_equal true, thru_mlhs_add_star
+    assert_match(/mlhs_add\(mlhs_add_star\(mlhs_new\(\),b\),mlhs_add\(mlhs_new\(\),c\)\)/, tree, bug4364)
+    thru_mlhs_add_star = false
+    tree = parse("*, c = 1, 2", :on_mlhs_add_star) {thru_mlhs_add_star = true}
+    assert_equal true, thru_mlhs_add_star
+    assert_match(/mlhs_add\(mlhs_add_star\(mlhs_new\(\)\),mlhs_add\(mlhs_new\(\),c\)\)/, tree, bug4364)
   end
 
   def test_mlhs_new

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

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