> def fixup(v, m=p.code.match, r=range(1,len(patterns)+1)): That is *perfect*. Why isn't the 'code' attribute documented?? Thanks! ---------------------------------- Nathan Clegg nathan at islanddata.com