Merge 3.5: issue #26801

This commit is contained in:
Victor Stinner 2016-04-19 22:29:11 +02:00
commit 5bfe0da808
4 changed files with 8 additions and 1 deletions

View File

@ -1072,7 +1072,7 @@ def get_terminal_size(fallback=(80, 24)):
if columns <= 0 or lines <= 0:
try:
size = os.get_terminal_size(sys.__stdout__.fileno())
except (NameError, OSError):
except (AttributeError, OSError):
size = os.terminal_size(fallback)
if columns <= 0:
columns = size.columns

View File

@ -1837,6 +1837,8 @@ class TermsizeTests(unittest.TestCase):
self.assertEqual(size.lines, 888)
@unittest.skipUnless(os.isatty(sys.__stdout__.fileno()), "not on tty")
@unittest.skipUnless(hasattr(os, 'get_terminal_size'),
'need os.get_terminal_size()')
def test_stty_match(self):
"""Check if stty returns the same results ignoring env

View File

@ -90,6 +90,7 @@ Matthew Barnett
Richard Barran
Cesar Eduardo Barros
Des Barry
Emanuel Barry
Ulf Bartelt
Campbell Barton
Don Bashford

View File

@ -245,6 +245,10 @@ Core and Builtins
Library
-------
- Issue #26801: Fix error handling in :func:`shutil.get_terminal_size`, catch
:exc:`AttributeError` instead of :exc:`NameError`. Patch written by Emanuel
Barry.
- Issue #24838: tarfile's ustar and gnu formats now correctly calculate name
and link field limits for multibyte character encodings like utf-8.