зеркало из https://github.com/github/ruby.git
* 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:
Родитель
00f34f9274
Коммит
d739fc5a77
|
@ -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
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) {
|
||||||
|
|
Загрузка…
Ссылка в новой задаче