[#78633] ruby/spec needs help from CRuby committers — Benoit Daloze <eregontp@...>
Currently, ruby/spec is maintained mostly by individuals and enjoys the
13 messages
2016/12/13
[#78642] Re: ruby/spec needs help from CRuby committers
— Eric Wong <normalperson@...>
2016/12/14
Benoit Daloze <eregontp@gmail.com> wrote:
[#78963] Re: ruby/spec needs help from CRuby committers
— Urabe Shyouhei <shyouhei@...>
2017/01/04
I did ask attendees of last developer meeting to join this
[#79029] Re: ruby/spec needs help from CRuby committers
— Benoit Daloze <eregontp@...>
2017/01/09
Thank you Shyouhei-san for your reply.
[ruby-core:78838] [Ruby trunk Bug#13073] Hash Key => Proc parse failure
From:
appayne@...
Date:
2016-12-26 03:39:05 UTC
List:
ruby-core #78838
Issue #13073 has been updated by Alexander Payne.
A Hash that stores multiple Proc literals causes syntax failures when passed as a method argument. Specifically, this only appears to happen on the second Proc literal in a Hash, not the first.
Minimal test case:
```ruby
def foo a, h
[a, h]
end
foo :bar, {
a: proc do
end,
b: proc do
end
}
```
Attempting to load this code causes the following error:
```
SyntaxError: test.rb:8: syntax error, unexpected keyword_do_block, expecting '}'
b: proc do
^
```
Note that simply commenting out the lines for `b: proc do \n end` cause the file to be successfully parsed.
```ruby
def foo a, h
[a, h]
end
foo :bar, {
a: proc do
end,
# b: proc do
# end
}
```
I first encountered this while attempting to run the Middleman gem (version 4.2.0). The specific error is:
```
/usr/local/lib/ruby/gems/2.4.0/gems/middleman-core-4.2.0/lib/middleman-core/application.rb:194: syntax error, unexpected keyword_do_block, expecting '}' (SyntaxError)
layout: proc do |file, app|
^
/usr/local/lib/ruby/gems/2.4.0/gems/middleman-core-4.2.0/lib/middleman-core/application.rb:194: syntax error, unexpected '|', expecting '='
layout: proc do |file, app|
^
/usr/local/lib/ruby/gems/2.4.0/gems/middleman-core-4.2.0/lib/middleman-core/application.rb:197: syntax error, unexpected '}', expecting keyword_end
}, 'Callbacks that can exclude
^
/usr/local/lib/ruby/gems/2.4.0/gems/middleman-core-4.2.0/lib/middleman-core/application.rb:460: syntax error, unexpected keyword_end, expecting end-of-input
```
The offending code is visible on GitHub, [here](https://github.com/middleman/middleman/blob/master/middleman-core/lib/middleman-core/application.rb#L194).
----------------------------------------
Bug #13073: Hash Key => Proc parse failure
https://bugs.ruby-lang.org/issues/13073#change-62244
* Author: Alexander Payne
* Status: Open
* Priority: Normal
* Assignee:
* Target version:
* ruby -v: 2.4.0p0
* Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
A Hash that stores multiple Proc literals causes syntax failures when passed as a method argument. Specifically, this only appears to happen on the second Proc literal in a Hash, not the first.
Minimal test case:
```ruby
def foo a, h
[a, h]
end
foo :bar, {
a: proc do
end,
b: proc do
end
}
```
Attempting to load this code causes the following error:
```
SyntaxError: test.rb:8: syntax error, unexpected keyword_do_block, expecting '}'
b: proc do
^
```
I first encountered this while attempting to run the Middleman gem (version 4.2.0). The specific error is:
```
/usr/local/lib/ruby/gems/2.4.0/gems/middleman-core-4.2.0/lib/middleman-core/application.rb:194: syntax error, unexpected keyword_do_block, expecting '}' (SyntaxError)
layout: proc do |file, app|
^
/usr/local/lib/ruby/gems/2.4.0/gems/middleman-core-4.2.0/lib/middleman-core/application.rb:194: syntax error, unexpected '|', expecting '='
layout: proc do |file, app|
^
/usr/local/lib/ruby/gems/2.4.0/gems/middleman-core-4.2.0/lib/middleman-core/application.rb:197: syntax error, unexpected '}', expecting keyword_end
}, 'Callbacks that can exclude
^
/usr/local/lib/ruby/gems/2.4.0/gems/middleman-core-4.2.0/lib/middleman-core/application.rb:460: syntax error, unexpected keyword_end, expecting end-of-input
```
The offending code is visible on GitHub, [here](https://github.com/middleman/middleman/blob/master/middleman-core/lib/middleman-core/application.rb#L194).
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>