* parse.y (parser_yylex): identfier after dot must not be a variable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8008 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2005-02-21 22:25:28 +00:00
parent f3f68873a1
commit 5426142e07
2 changed files with 9 additions and 3 deletions

View file

@ -1,3 +1,7 @@
Tue Feb 22 07:25:18 2005 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (parser_yylex): identfier after dot must not be a variable.
Mon Feb 21 10:04:49 2005 NAKAMURA Usaku <usa@ruby-lang.org> Mon Feb 21 10:04:49 2005 NAKAMURA Usaku <usa@ruby-lang.org>
* {bcc32,win32,wince}/Makefile.sub (config.h): add fcntl. * {bcc32,win32,wince}/Makefile.sub (config.h): add fcntl.

View file

@ -4334,6 +4334,7 @@ yylex()
{ {
int result = 0; int result = 0;
enum lex_state last_state = lex_state;
switch (tok()[0]) { switch (tok()[0]) {
case '$': case '$':
@ -4419,6 +4420,7 @@ yylex()
} }
yylval.id = rb_intern(tok()); yylval.id = rb_intern(tok());
if (is_local_id(yylval.id) && if (is_local_id(yylval.id) &&
last_state != EXPR_DOT &&
((dyna_in_block() && rb_dvar_defined(yylval.id)) || local_id(yylval.id))) { ((dyna_in_block() && rb_dvar_defined(yylval.id)) || local_id(yylval.id))) {
lex_state = EXPR_END; lex_state = EXPR_END;
} }