diff options
| author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-05-11 21:23:20 +0000 |
|---|---|---|
| committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-05-11 21:23:20 +0000 |
| commit | b7db271c021c6482ed619cfff2d613c0540eeca4 (patch) | |
| tree | 9f3a1ba8bb0b2943eafc50092122d7d554a225e1 | |
| parent | 5d397b488e190b4c3012e1ec146dc6161f7c3952 (diff) | |
merges r30799 from trunk into ruby_1_9_2.
--
* parse.y (mlhs_basic): include mlhs_post for ripper. a patch
from Michael Edgar at [ruby-core:35078].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@31509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 5 | ||||
| -rw-r--r-- | parse.y | 7 | ||||
| -rw-r--r-- | test/ripper/test_parser_events.rb | 13 | ||||
| -rw-r--r-- | version.h | 2 |
4 files changed, 24 insertions, 3 deletions
@@ -1,3 +1,8 @@ +Sat Feb 5 21:47:09 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (mlhs_basic): include mlhs_post for ripper. a patch + from Michael Edgar at [ruby-core:35078]. + Sat Feb 5 11:29:10 2011 Nobuyoshi Nakada <nobu@ruby-lang.org> * ext/json/parser/parser.h (GET_PARSER): raise TypeError. @@ -1507,7 +1507,8 @@ mlhs_basic : mlhs_head /*%%%*/ $$ = 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 @@ -1523,7 +1524,8 @@ mlhs_basic : mlhs_head /*%%%*/ $$ = 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 @@ -1540,6 +1542,7 @@ mlhs_basic : mlhs_head $$ = NEW_MASGN(0, NEW_POSTARG(-1, $3)); /*% $$ = mlhs_add_star(mlhs_new(), Qnil); + $$ = mlhs_add($$, $3); %*/ } ; diff --git a/test/ripper/test_parser_events.rb b/test/ripper/test_parser_events.rb index 15a5d2b3a9..3958213f77 100644 --- a/test/ripper/test_parser_events.rb +++ b/test/ripper/test_parser_events.rb @@ -368,6 +368,7 @@ class TestRipper::ParserEvents < Test::Unit::TestCase 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 @@ class TestRipper::ParserEvents < Test::Unit::TestCase 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 @@ -1,5 +1,5 @@ #define RUBY_VERSION "1.9.2" -#define RUBY_PATCHLEVEL 193 +#define RUBY_PATCHLEVEL 194 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 9 #define RUBY_VERSION_TEENY 1 |
