summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-08 06:59:38 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-08 06:59:38 +0000
commit7ce9ab664d5b52bae8a4b70f2f69ff07b0ddafc9 (patch)
tree0339b1544f7ca84e52cb4905dda3a6ca947e8b5a /parse.y
parent611e2874982afa0e9a684159ca3d228563a813c0 (diff)
test/ruby/test_continuation.rb: remove duplicated test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16329 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y14
1 files changed, 10 insertions, 4 deletions
diff --git a/parse.y b/parse.y
index 657eafbad4..bda57f428f 100644
--- a/parse.y
+++ b/parse.y
@@ -7162,11 +7162,17 @@ parser_yylex(struct parser_params *parser)
if (tokadd_mbchar(c) == -1) return 0;
c = nextc();
} while (parser_is_identchar());
- if ((c == '!' || c == '?') && !peek('=')) {
- tokadd(c);
- }
- else {
+ switch (tok()[0]) {
+ case '@': case '$':
pushback(c);
+ break;
+ default:
+ if ((c == '!' || c == '?') && !peek('=')) {
+ tokadd(c);
+ }
+ else {
+ pushback(c);
+ }
}
tokfix();