summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-12-19 12:19:29 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-12-19 12:19:29 +0000
commitf19478d5e39e9512bdbc73cd6510bd341d058128 (patch)
tree05bdb9a1ee8345b4acfeabd0309c7bc103d47ccb /parse.y
parent59995abc1ea07a2278a9f87b66587c65486e01da (diff)
merge revision(s) 38039: [Backport #7408]
* parse.y (parser_yylex): fix false usage of local variable, it cannot appear in fname state [ruby-core:49659] [Bug #7408] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@38470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y3
1 files changed, 2 insertions, 1 deletions
diff --git a/parse.y b/parse.y
index a006b56357..dbb10fd698 100644
--- a/parse.y
+++ b/parse.y
@@ -7923,7 +7923,8 @@ parser_yylex(struct parser_params *parser)
ID ident = TOK_INTERN(!ENC_SINGLE(mb));
set_yylval_name(ident);
- if (last_state != EXPR_DOT && is_local_id(ident) && lvar_defined(ident)) {
+ if (last_state != EXPR_DOT && last_state != EXPR_FNAME &&
+ is_local_id(ident) && lvar_defined(ident)) {
lex_state = EXPR_END;
}
}