356,374d355 < tried = [] < keepexpanding = 1 < while keepexpanding: < index, pathlen, lindex, rindex = (0, len(userhome), None, None) < while index < pathlen: < if userhome[index] == '%': < if lindex == None: < lindex = index < else: < rindex = index + 1 < rawenv = userhome[lindex:rindex] < if (rawenv in tried) or (not os.environ.has_key(rawenv)): < keepexpanding = 0 < else: < tried.append(rawenv) < userhome = os.environ[rawenv] + userhome[rindex:] < break < if not rindex: < keepexpanding = 0