I have to say, I was skeptical about your execution method at first -- simply joining all of the lines and then compiling them. My understanding of the compile method from the documentation led me to believe that you needed to process a line at a time. ''.join ing them all seems to work very well, however, and it's a lot easier!
My comments about 'exec obj in globals()' still stand, however. Give it a try and let me know if it works the way you expect. T.J. -- http://mail.python.org/mailman/listinfo/python-list