diff options
author | Georg Brandl <georg@python.org> | 2014-11-11 18:36:28 +0100 |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2014-11-11 18:36:28 +0100 |
commit | cbe1e3e5132dceeb96b57195579567d49928c00e (patch) | |
tree | 5e20dc9161ac87206d46fd638a332ffaea388861 | |
parent | 59f4e88549ddd1fa1ea010fa6f65efb0ef344dc4 (diff) | |
download | pygments-cbe1e3e5132dceeb96b57195579567d49928c00e.tar.gz |
(Hopefully) fix test_cmdline failures under Windows without colorama.
-rw-r--r-- | pygments/cmdline.py | 4 | ||||
-rw-r--r-- | pygments/util.py | 7 |
2 files changed, 8 insertions, 3 deletions
diff --git a/pygments/cmdline.py b/pygments/cmdline.py index 0dcda7ae..40c1a599 100644 --- a/pygments/cmdline.py +++ b/pygments/cmdline.py @@ -445,8 +445,8 @@ def main_inner(popts, args, usage): fmter.name in ('Terminal', 'Terminal256'): # pragma: no cover # 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 b5e5d0b6..22fab2fe 100644 --- a/pygments/util.py +++ b/pygments/util.py @@ -367,7 +367,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): |