diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-02-04 05:51:21 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-02-04 05:51:21 +0000 |
commit | ac21ef04260551694e83d9636802de2049c3e9cb (patch) | |
tree | ac0ba2c82a78fbdd4068bf2fe484b0d700e2e0ab /parse.y | |
parent | 0478a8e2d62a3671712b4c806c9c8c8e78699a0e (diff) | |
download | ruby-ac21ef04260551694e83d9636802de2049c3e9cb.tar.gz ruby-ac21ef04260551694e83d9636802de2049c3e9cb.tar.xz ruby-ac21ef04260551694e83d9636802de2049c3e9cb.zip |
* trunk/parse.y (rb_enc_symname2_p): support "!", "!=" and "!~".
[ruby-dev:33592]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@15373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -8906,11 +8906,19 @@ rb_enc_symname2_p(const char *name, int len, rb_encoding *enc) if (*++m == '=') ++m; break; + case '!': + switch (*++m) { + case '\0': return Qtrue; + case '=': case '~': ++m; break; + default: return Qfalse; + } + break; + default: localid = !rb_enc_isupper(*m, enc); id: if (m >= e || (*m != '_' && !rb_enc_isalpha(*m, enc) && ISASCII(*m))) - return Qfalse; + return Qfalse; while (m < e && is_identchar(m, e, enc)) m += rb_enc_mbclen(m, e, enc); if (localid) { switch (*m) { |