sorry, i did know the source of that bug but hadn't fixed it. removal of a goto considered harmful: the original code at label NameError: used len = prefix+e.off[npath] but the replacement nameerror() uses len = strlen(name), and indeed i don't think Elemlist.off is used at all now. nameerror() probably needs an extra parameter or two to give it the right len (and suitable changes to the code).