Issue #11389 has been updated by Felix Bnemann.

Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN to 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: REQUIRED

The issue can be fixed by reverting r50402 which was introduced by #11107.

----------------------------------------
Bug #11389: Regression in method parameter parsing
https://bugs.ruby-lang.org/issues/11389#change-53510

* Author: Felix Bnemann
* Status: Open
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.3.0dev (2015-07-22 trunk 51345) [x86_64-darwin15]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: REQUIRED
----------------------------------------
There is a regression in parameter parsing with current ruby-2.2-head and ruby-head:

```ruby
# ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14]
def foo fn, options, █ end
=> :foo
foo -> {}, foo: :bar do; end
=> nil
# ruby 2.2.2p133 (2015-06-12 revision 50295) [x86_64-darwin15]
# ruby 2.3.0dev (2015-07-22 trunk 51345) [x86_64-darwin15]
def foo fn, options, █ end
=> :foo
foo -> {}, foo: :bar do; end
SyntaxError: unexpected keyword_do, expecting end-of-input
# workaround:
foo -> {}, { foo: :bar } do; end
=> nil
```



-- 
https://bugs.ruby-lang.org/