* trunk/parse.y (rb_enc_symname2_p): support "!", "!=" and "!~".

[ruby-dev:33592]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2008-02-04 05:51:21 +00:00
Родитель 00f34f9274
Коммит d739fc5a77
2 изменённых файлов: 14 добавлений и 1 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Mon Feb 4 14:51:19 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* trunk/parse.y (rb_enc_symname2_p): support "!", "!=" and "!~".
[ruby-dev:33592]
Mon Feb 4 13:58:42 2008 NAKAMURA Usaku <usa@ruby-lang.org> Mon Feb 4 13:58:42 2008 NAKAMURA Usaku <usa@ruby-lang.org>
* lib/delegate.rb (Delegator.preserved, DelegateClass.methods): extend * lib/delegate.rb (Delegator.preserved, DelegateClass.methods): extend

10
parse.y
Просмотреть файл

@ -8906,11 +8906,19 @@ rb_enc_symname2_p(const char *name, int len, rb_encoding *enc)
if (*++m == '=') ++m; if (*++m == '=') ++m;
break; break;
case '!':
switch (*++m) {
case '\0': return Qtrue;
case '=': case '~': ++m; break;
default: return Qfalse;
}
break;
default: default:
localid = !rb_enc_isupper(*m, enc); localid = !rb_enc_isupper(*m, enc);
id: id:
if (m >= e || (*m != '_' && !rb_enc_isalpha(*m, enc) && ISASCII(*m))) 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); while (m < e && is_identchar(m, e, enc)) m += rb_enc_mbclen(m, e, enc);
if (localid) { if (localid) {
switch (*m) { switch (*m) {