diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2014-11-28 00:09:29 +0200 |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2014-11-28 00:09:29 +0200 |
commit | e9236015751d658af060690bdf07dded4e509cd1 (patch) | |
tree | 45fcb5a17b90cf98297b7369077fec77fc55e36d /Lib/pydoc.py | |
parent | d088fa320e4c49fa355521228e8210c29108c9cb (diff) | |
download | cpython-e9236015751d658af060690bdf07dded4e509cd1.tar.gz |
Issue #22314: pydoc now works when the LINES environment variable is set.
Diffstat (limited to 'Lib/pydoc.py')
-rwxr-xr-x | Lib/pydoc.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Lib/pydoc.py b/Lib/pydoc.py index bfb0a03378..d53a1b4b7e 100755 --- a/Lib/pydoc.py +++ b/Lib/pydoc.py @@ -1479,12 +1479,18 @@ def ttypager(text): old = tty.tcgetattr(fd) tty.setcbreak(fd) getchar = lambda: sys.stdin.read(1) - except (ImportError, AttributeError): + except (ImportError, AttributeError, io.UnsupportedOperation): tty = None getchar = lambda: sys.stdin.readline()[:-1][:1] try: - r = inc = os.environ.get('LINES', 25) - 1 + try: + h = int(os.environ.get('LINES', 0)) + except ValueError: + h = 0 + if h <= 1: + h = 25 + r = inc = h - 1 sys.stdout.write('\n'.join(lines[:inc]) + '\n') while lines[r:]: sys.stdout.write('-- more --') |