diff -r cda76ef561a2 Lib/formatter.py --- a/Lib/formatter.py Sat Aug 03 02:49:53 2013 -0700 +++ b/Lib/formatter.py Sat Aug 03 21:19:50 2013 +0800 @@ -427,18 +427,18 @@ def test(file = None): w = DumbWriter() f = AbstractFormatter(w) - if file is not None: - fp = open(file) - elif sys.argv[1:]: - fp = open(sys.argv[1]) - else: - fp = sys.stdin - for line in fp: - if line == '\n': - f.end_paragraph(1) + if file is None: + if sys.argv[1:]: + file = sys.argv[1] else: - f.add_flowing_data(line) - f.end_paragraph(0) + file = sys.stdin + with open(file) as fp: + for line in fp: + if line == '\n': + f.end_paragraph(1) + else: + f.add_flowing_data(line) + f.end_paragraph(0) if __name__ == '__main__':