Thanks everyone, I think I see. Serves me right for using run time eval. I'm testing and profiling my various meta-evals by comparing them with the real eval. I'll change the name of my function. Cheers, John. -- Contractor in Cambridge UK -- http://www.aspden.com