summaryrefslogtreecommitdiff
path: root/parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'parse.c')
-rw-r--r--parse.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/parse.c b/parse.c
index bf0ee6bf2c..149c09506f 100644
--- a/parse.c
+++ b/parse.c
@@ -5386,6 +5386,11 @@ retry:
}
}
}
+ else if (c >= 0x80) {
+ if ((c = nextc()) != '\\') {
+ pushback(c);
+ }
+ }
}
/* fall through */
case '\n':
@@ -6096,6 +6101,13 @@ retry:
}
if ((c == '!' || c == '?') && is_identchar(tok()[0])) {
tokadd(c);
+ if (c == '!') {
+ c = nextc();
+ if (c == '=') {
+ rb_warn("identifier! immediately followed by `='");
+ }
+ pushback(c);
+ }
}
else {
pushback(c);