[Python-checkins] cpython (3.4): Issue #22314: pydoc now works when the LINES environment variable is set.

serhiy.storchaka python-checkins at python.org
Thu Nov 27 23:15:45 CET 2014


https://hg.python.org/cpython/rev/c6182a7e75fa
changeset:   93631:c6182a7e75fa
branch:      3.4
parent:      93627:27ae1a476ef7
user:        Serhiy Storchaka <storchaka at gmail.com>
date:        Fri Nov 28 00:09:29 2014 +0200
summary:
  Issue #22314: pydoc now works when the LINES environment variable is set.

files:
  Lib/pydoc.py |  10 ++++++++--
  Misc/NEWS    |   5 +++++
  2 files changed, 13 insertions(+), 2 deletions(-)


diff --git a/Lib/pydoc.py b/Lib/pydoc.py
--- a/Lib/pydoc.py
+++ b/Lib/pydoc.py
@@ -1479,12 +1479,18 @@
         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 --')
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -184,6 +184,11 @@
 - Issue #21514: The documentation of the json module now refers to new JSON RFC
   7159 instead of obsoleted RFC 4627.
 
+Tools/Demos
+-----------
+
+- Issue #22314: pydoc now works when the LINES environment variable is set.
+
 Windows
 -------
 

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list