summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-08-17 08:10:19 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-08-17 08:10:19 +0000
commit510bdd1502aae4f154af20a390c83578b866fd20 (patch)
treed969296e588fcf4e9a44fa89bfaa16d742565336
parentd3a6478dbb6bf9046917738b785f59c8b38a1641 (diff)
merge revision(s) 51350: [Backport #11380]
* parse.y (lambda_body): pop cmdarg stack for lookahead token. [ruby-core:70067] [Bug #11380] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@51605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--parse.y1
-rw-r--r--test/ruby/test_syntax.rb5
-rw-r--r--version.h2
4 files changed, 12 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index ebde35ca4c..dcc15e3b86 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Aug 17 17:09:02 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * parse.y (lambda_body): pop cmdarg stack for lookahead
+ token. [ruby-core:70067] [Bug #11380]
+
Mon Aug 17 17:04:57 2015 Jeremy Evans <merch-redmine@jeremyevans.net>
* test/openssl/test_ssl.rb: Fix LocalJumpErrors being raised
diff --git a/parse.y b/parse.y
index 7682ea1e7e..80a45ebf63 100644
--- a/parse.y
+++ b/parse.y
@@ -3475,6 +3475,7 @@ lambda : {
{
lpar_beg = $<num>2;
cmdarg_stack = $<val>5;
+ CMDARG_LEXPOP();
/*%%%*/
$$ = NEW_LAMBDA($3, $6);
nd_set_line($$, $<num>4);
diff --git a/test/ruby/test_syntax.rb b/test/ruby/test_syntax.rb
index 7bfcfca0d2..cf38b5974c 100644
--- a/test/ruby/test_syntax.rb
+++ b/test/ruby/test_syntax.rb
@@ -271,6 +271,11 @@ WARN
assert_valid_syntax('p ->() do a() do end end', bug11107)
end
+ def test_do_block_after_lambda
+ bug11380 = '[ruby-core:70067] [Bug #11380]'
+ assert_valid_syntax('p -> { :hello }, a: 1 do end', bug11380)
+ end
+
def test_reserved_method_no_args
bug6403 = '[ruby-dev:45626]'
assert_valid_syntax("def self; :foo; end", __FILE__, bug6403)
diff --git a/version.h b/version.h
index 42c8885d33..a30f0af3f5 100644
--- a/version.h
+++ b/version.h
@@ -1,6 +1,6 @@
#define RUBY_VERSION "2.1.7"
#define RUBY_RELEASE_DATE "2015-08-17"
-#define RUBY_PATCHLEVEL 388
+#define RUBY_PATCHLEVEL 389
#define RUBY_RELEASE_YEAR 2015
#define RUBY_RELEASE_MONTH 8