summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-12-25 06:29:27 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-12-25 06:29:27 +0000
commit99020d6e50702eb371111d73280eb80b4b29ba5b (patch)
treef2ec985d66f5d99a203277cf0961d960228d441e /parse.y
parent8f6673c2d4a7e6ff470b584141c590e4b066f5e2 (diff)
001225
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@1075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y13
1 files changed, 10 insertions, 3 deletions
diff --git a/parse.y b/parse.y
index ea0e33f609..d1f1a32321 100644
--- a/parse.y
+++ b/parse.y
@@ -3244,9 +3244,11 @@ yylex()
tokadd(c);
seen_e++;
is_float++;
- if ((c = nextc()) == '-' || c == '+')
+ while ((c = nextc()) == '_')
+ seen_uc = 1;
+ if (c == '-' || c == '+')
tokadd(c);
- else
+ else
continue;
break;
@@ -3628,7 +3630,12 @@ yylex()
}
else {
if (lex_state == EXPR_FNAME) {
- if ((c = nextc()) == '=' && !peek('=') && !peek('~')) {
+#if 0
+ if ((c = nextc()) == '=' && !peek('=') && !peek('~') && !peek('>')) {
+#else
+ if ((c = nextc()) == '=' && !peek('~') && !peek('>') &&
+ (!peek('=') || lex_p + 1 < lex_pend && lex_p[1] == '>')) {
+#endif
result = tIDENTIFIER;
tokadd(c);
}