diff -r 2082c7891058 Lib/trace.py --- a/Lib/trace.py Tue Jul 20 06:36:31 2010 +0300 +++ b/Lib/trace.py Wed Jul 21 12:23:17 2010 +0300 @@ -799,12 +799,9 @@ ignoredirs=ignore_dirs, infile=counts_file, outfile=counts_file, timing=timing) try: - fp = open(progname) - try: - script = fp.read() - finally: - fp.close() - t.run('exec(%r)' % (script,)) + with open(progname) as fp: + code = compile(fp.read(), progname, 'exec') + t.run(code) except IOError as err: _err_exit("Cannot run file %r because: %s" % (sys.argv[0], err)) except SystemExit: