diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2014-11-27 22:09:29 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2014-11-27 22:09:29 (GMT) |
commit | ab5e9b9213558d00ef8405d89e4cb103795972e3 (patch) | |
tree | 01c571ee7f96fa5bfcf8201b75bb6bcad2b69620 /Lib/pydoc.py | |
parent | fc8e9b0e726c14d10cf33864710364b3cb4ae368 (diff) | |
download | cpython-ab5e9b9213558d00ef8405d89e4cb103795972e3.zip cpython-ab5e9b9213558d00ef8405d89e4cb103795972e3.tar.gz cpython-ab5e9b9213558d00ef8405d89e4cb103795972e3.tar.bz2 |
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 bfb0a03..d53a1b4 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 --') |