Issue #11833 has been updated by Tomoyuki Chikanaga.


Thank you for your report and notice.
I've just backport at r53257.

Are there any concrete gems which is affected by this regression?
I want to know the severity of this issue in the real world.

----------------------------------------
Bug #11833: 2.2.4 syntax error when naked percent notation touches keyword arguments 
https://bugs.ruby-lang.org/issues/11833#change-55737

* Author: Corey Csuhta
* Status: Closed
* Priority: Normal
* Assignee: 
* ruby -v: 2.2.4
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
Possible regression: 

In Ruby 2.2.3, naked percent-notation was allowed in keyword arguments without spacing, like this:

~~~
$ ruby -v
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin15]

$ ruby -e "def foo(x:%i[a b c]); puts x end; foo"
a
b
c
~~~

In Ruby 2.2.4 this is a syntax error:

~~~
$ ruby -v
ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-darwin15]

$ ruby -e "def foo(x:%i[a b c]); puts x end; foo"
-e:1: syntax error, unexpected '%', expecting ')'
def foo(x:%i[a b c]); puts x end; foo
           ^
-e:1: syntax error, unexpected ')', expecting end-of-input
def foo(x:%i[a b c]); puts x end; foo
~~~

This however works:

~~~
$ ruby -v
ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-darwin15]

$ ruby -e "def foo(x: %i[a b c]); puts x end; foo"
a
b
c
~~~

Notice the extra space after `x:`



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