diff options
author | Georg Brandl <georg@python.org> | 2010-07-31 21:51:48 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2010-07-31 21:51:48 (GMT) |
commit | 78aa3964156c97329ca514d1f38bd3fbc2eda8db (patch) | |
tree | 173063e11adf9c2e4cddc0a192fc0a0e50eb9a57 | |
parent | bb1901529dd7fa4345b8792fa166415a79494179 (diff) | |
download | cpython-78aa3964156c97329ca514d1f38bd3fbc2eda8db.zip cpython-78aa3964156c97329ca514d1f38bd3fbc2eda8db.tar.gz cpython-78aa3964156c97329ca514d1f38bd3fbc2eda8db.tar.bz2 |
#8198: the Helper class should not save the stdin and stdout objects
at import time, rather by default use the current streams like the
other APIs that output help.
-rwxr-xr-x | Lib/pydoc.py | 16 | ||||
-rw-r--r-- | Misc/NEWS | 3 |
2 files changed, 15 insertions, 4 deletions
diff --git a/Lib/pydoc.py b/Lib/pydoc.py index 95eb318..4f22887 100755 --- a/Lib/pydoc.py +++ b/Lib/pydoc.py @@ -1695,9 +1695,17 @@ class Helper: 'CONTEXTMANAGERS': ('context-managers', 'with'), } - def __init__(self, input, output): - self.input = input - self.output = output + def __init__(self, input=None, output=None): + self._input = input + self._output = output + + @property + def input(self): + return self._input or sys.stdin + + @property + def output(self): + return self._output or sys.stdout def __repr__(self): if inspect.stack()[1][3] == '?': @@ -1874,7 +1882,7 @@ Enter any module name to get more help. Or, type "modules spam" to search for modules whose descriptions contain the word "spam". ''') -help = Helper(sys.stdin, sys.stdout) +help = Helper() class Scanner: """A generic tree iterator.""" @@ -15,6 +15,9 @@ Core and Builtins Library ------- +- Issue #8198: In pydoc, output all help text to the correct stream + when sys.stdout is reassigned. + - Issue #7909: Do not touch paths with the special prefixes ``\\.\`` or ``\\?\`` in ntpath.normpath(). |