mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
#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.
This commit is contained in:
parent
bb1901529d
commit
78aa396415
2 changed files with 15 additions and 4 deletions
16
Lib/pydoc.py
16
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().
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue