mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Bug #6403: reset states after empty args
* parse.y (f_arglist): should reset lexical states after empty argument list with no parenthesis as well as parenthesized list, so that reserved name method definition work. [ruby-dev:45626] [Bug #6403] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
c80308119b
commit
45f6cdcdd3
3 changed files with 14 additions and 0 deletions
|
@ -1,3 +1,10 @@
|
|||
Mon May 14 16:28:36 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* parse.y (f_arglist): should reset lexical states after empty
|
||||
argument list with no parenthesis as well as parenthesized list,
|
||||
so that reserved name method definition work. [ruby-dev:45626]
|
||||
[Bug #6403]
|
||||
|
||||
Mon May 14 00:14:24 2012 CHIKANAGA Tomoyuki <nagachika@ruby-lang.org>
|
||||
|
||||
* enumerator.c (lazy_take_func, lazy_take): multiple calls of
|
||||
|
|
2
parse.y
2
parse.y
|
@ -4451,6 +4451,8 @@ f_arglist : '(' f_args rparen
|
|||
| f_args term
|
||||
{
|
||||
$$ = $1;
|
||||
lex_state = EXPR_BEG;
|
||||
command_start = TRUE;
|
||||
}
|
||||
;
|
||||
|
||||
|
|
|
@ -176,6 +176,11 @@ class TestSyntax < Test::Unit::TestCase
|
|||
assert_valid_syntax("p begin 1.times do 1 end end", __FILE__, bug6419)
|
||||
end
|
||||
|
||||
def test_reserved_method_no_args
|
||||
bug6403 = '[ruby-dev:45626]'
|
||||
assert_valid_syntax("def self; :foo; end", __FILE__, bug6403)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def not_label(x) @result = x; @not_label ||= nil end
|
||||
|
|
Loading…
Add table
Reference in a new issue