Project

General

Profile

Bug #11389

Regression in method parameter parsing

Added by felixbuenemann (Felix Bünemann) almost 5 years ago. Updated almost 5 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.3.0dev (2015-07-22 trunk 51345) [x86_64-darwin15]
[ruby-core:70089]

Description

There is a regression in parameter parsing with current ruby-2.2-head and ruby-head:

# 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

Related issues

Is duplicate of Ruby master - Bug #11380: Parser regression in 2.3?ClosedActions

Updated by felixbuenemann (Felix Bünemann) almost 5 years ago

  • 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.

Updated by felixbuenemann (Felix Bünemann) almost 5 years ago

This bug is a duplicate of #11380.

#3

Updated by nobu (Nobuyoshi Nakada) almost 5 years ago

  • Is duplicate of Bug #11380: Parser regression in 2.3? added
#4

Updated by nobu (Nobuyoshi Nakada) almost 5 years ago

  • Status changed from Open to Closed

Applied in changeset r51350.


parse.y: pop cmdarg

  • parse.y (lambda_body): pop cmdarg stack for lookahead token. [ruby-core:70067] [Bug #11380]

Updated by felixbuenemann (Felix Bünemann) almost 5 years ago

Thank you, it works fine now! <3

Updated by nagachika (Tomoyuki Chikanaga) almost 5 years ago

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

r51350 was backported into ruby_2_2 branch at r51519.

#7

Updated by usa (Usaku NAKAMURA) almost 5 years ago

  • Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: DONE to 2.0.0: UNKNOWN, 2.1: DONE, 2.2: DONE

Also available in: Atom PDF