Project

General

Profile

Actions

Bug #14021

closed

Block parsing with arguments

Added by kddnewton (Kevin Newton) over 6 years ago. Updated over 6 years ago.

Status:
Rejected
Assignee:
-
Target version:
-
ruby -v:
2.4.2
[ruby-core:83316]

Description

It appears that between 2.4.1 and 2.4.2, something changed with method argument parsing:

$ cat test.rb
#!/usr/bin/env ruby

def test(num)
  p num
  yield
end

test 5 { puts 'hello world' }

$ rbenv shell 2.4.1
$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin15]
$ ruby test.rb
5
hello world
$ rbenv shell 2.4.2
$ ruby -v
ruby 2.4.2p198 (2017-09-14 revision 59899) [x86_64-darwin15]
$ ruby test.rb 
test.rb:8: syntax error, unexpected '{', expecting end-of-input
test 5 { puts 'hello world' }
        ^

I'm actually fine with this change, but it didn't used to emit a warning and it seems odd that a patch release would break this behavior.

Updated by jeremyevans0 (Jeremy Evans) over 6 years ago

  • Status changed from Open to Rejected

Duplicate of #13547, #13691, #13898, #13939, and #13976

Actions

Also available in: Atom PDF

Like0
Like0