summaryrefslogtreecommitdiff
path: root/Lib/pydoc.py
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2014-11-28 00:09:29 +0200
committerSerhiy Storchaka <storchaka@gmail.com>2014-11-28 00:09:29 +0200
commite9236015751d658af060690bdf07dded4e509cd1 (patch)
tree45fcb5a17b90cf98297b7369077fec77fc55e36d /Lib/pydoc.py
parentd088fa320e4c49fa355521228e8210c29108c9cb (diff)
downloadcpython-e9236015751d658af060690bdf07dded4e509cd1.tar.gz
Issue #22314: pydoc now works when the LINES environment variable is set.
Diffstat (limited to 'Lib/pydoc.py')
-rwxr-xr-xLib/pydoc.py10
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 --')