varexpand: use frozenset for word characters
authorZac Medico <zmedico@gentoo.org>
Sat, 31 Mar 2012 20:27:11 +0000 (13:27 -0700)
committerZac Medico <zmedico@gentoo.org>
Sat, 31 Mar 2012 20:27:11 +0000 (13:27 -0700)
pym/portage/util/__init__.py

index ae560c0d56311e54f7fc021bf70eb5a5154fede7..a7bc9bd0f4e9a2384f01cbb8a32b798dc44e5502 100644 (file)
@@ -646,6 +646,8 @@ def getconfig(mycfg, tolerant=0, allow_sourcing=False, expand=True):
                raise portage.exception.ParseError(str(e)+" in "+mycfg)
        return mykeys
 
+_varexpand_word_chars = frozenset(string.ascii_letters + string.digits + "_")
+
 def varexpand(mystring, mydict=None):
        if mydict is None:
                mydict = {}
@@ -715,8 +717,7 @@ def varexpand(mystring, mydict=None):
                                else:
                                        braced=False
                                myvstart=pos
-                               validchars=string.ascii_letters+string.digits+"_"
-                               while mystring[pos] in validchars:
+                               while mystring[pos] in _varexpand_word_chars:
                                        if (pos+1)>=len(mystring):
                                                if braced:
                                                        return ""