From: nagachika00@... Date: 2015-12-22T21:04:36+00:00 Subject: [ruby-core:72442] [Ruby trunk - Bug #11833] 2.2.4 syntax error when naked percent notation touches keyword arguments 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/