From be15c4534efc5e79a4c823297768723641886576 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Tue, 11 Nov 2014 18:36:28 +0100 Subject: (Hopefully) fix test_cmdline failures under Windows without colorama. --- pygments/cmdline.py | 4 ++-- pygments/util.py | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/pygments/cmdline.py b/pygments/cmdline.py index 20e87c36..0f629ece 100644 --- a/pygments/cmdline.py +++ b/pygments/cmdline.py @@ -432,8 +432,8 @@ def main_inner(popts, args, usage): fmter.name in ('Terminal', 'Terminal256'): # unfortunately colorama doesn't support binary streams on Py3 if sys.version_info > (3,): - import io - outfile = io.TextIOWrapper(outfile, encoding=fmter.encoding) + from pygments.util import UnclosingTextIOWrapper + outfile = UnclosingTextIOWrapper(outfile, encoding=fmter.encoding) fmter.encoding = None try: import colorama.initialise diff --git a/pygments/util.py b/pygments/util.py index 9f683c0e..86713219 100644 --- a/pygments/util.py +++ b/pygments/util.py @@ -362,7 +362,12 @@ else: u_prefix = '' iteritems = dict.items itervalues = dict.values - from io import StringIO, BytesIO + from io import StringIO, BytesIO, TextIOWrapper + + class UnclosingTextIOWrapper(TextIOWrapper): + # Don't close underlying buffer on destruction. + def close(self): + pass def add_metaclass(metaclass): -- cgit v1.2.1