From: nobu.nokada@... Date: 2004-03-03T11:04:46+09:00 Subject: Re: bug(?) when using symbols for variables/methods Hi, At Wed, 3 Mar 2004 09:15:28 +0900, nobu.nokada@softhome.net wrote in [ruby-talk:94099]: > @@ -5861,5 +5862,5 @@ rb_intern(name) > break; > default: > - if (name[0] != '_' && !ISALPHA(name[0]) && !ismbchar(name[0])) { > + if (!is_identfirst(name[0])) { > /* operators */ > int i; > @@ -5895,6 +5856,8 @@ rb_intern(name) > break; > } > - while (m <= name + last && is_identchar(*m)) { > - m += mbclen(*m); > + if (m <= name + last && is_identfirst(*m)) { > + do { > + m += mbclen(*m); > + } while (m <= name + last && is_identchar(*m)); > } > if (*m) id = ID_JUNK; Sorry, wrong patch. @@ -5859,7 +5860,8 @@ rb_intern(name) } m++; + if (!is_identfirst(*m)) id = ID_JUNK; break; default: - if (name[0] != '_' && !ISALPHA(name[0]) && !ismbchar(name[0])) { + if (!is_identfirst(name[0])) { /* operators */ int i; -- Nobu Nakada