parse.y: lex by lvar

* parse.y (parse_ident): disable tLPAREN_ARG state by local
  variable.  [ruby-list:50578]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2017-09-19 00:22:56 +00:00
parent 698f2db224
commit 50f7d64f41
2 changed files with 12 additions and 1 deletions

View file

@ -1054,6 +1054,17 @@ x = __ENCODING__
assert_not_match(/unexpected tSTRING_END/, e)
end
def test_lparenarg
o = Struct.new(:x).new
def o.i(x)
self.x = x
end
o.instance_eval {i (-1.3).abs}
assert_equal(1.3, o.x)
o.instance_eval {i = 0; i (-1.3).abs}
assert_equal(1.3, o.x)
end
=begin
def test_past_scope_variable
assert_warning(/past scope/) {catch {|tag| eval("BEGIN{throw tag}; tap {a = 1}; a")}}