diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2015-02-20 23:47:09 +0200 |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2015-02-20 23:47:09 +0200 |
commit | ec5062617b06692aa8f94f77fe76b60b4c937b9d (patch) | |
tree | 57d79bcf69131d4949c086e44c7597942f3d2f07 /Lib/pydoc.py | |
parent | 66dbd68ea7492d3191d9bd01e23b0081db7bfe98 (diff) | |
parent | fdcd8378114cc3eeb2ac3d556283f5a28c4fd5f6 (diff) | |
download | cpython-ec5062617b06692aa8f94f77fe76b60b4c937b9d.tar.gz |
Issue #23374: Fixed pydoc failure with non-ASCII files when stdout encoding
differs from file system encoding (e.g. on Mac OS).
Diffstat (limited to 'Lib/pydoc.py')
-rwxr-xr-x | Lib/pydoc.py | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/Lib/pydoc.py b/Lib/pydoc.py index 8bbebc9be3..b762389cf3 100755 --- a/Lib/pydoc.py +++ b/Lib/pydoc.py @@ -264,9 +264,8 @@ def synopsis(filename, cache={}): # XXX We probably don't need to pass in the loader here. spec = importlib.util.spec_from_file_location('__temp__', filename, loader=loader) - _spec = importlib._bootstrap._SpecMethods(spec) try: - module = _spec.load() + module = importlib._bootstrap._load(spec) except: return None del sys.modules['__temp__'] @@ -298,9 +297,8 @@ def importfile(path): loader = importlib._bootstrap.SourceFileLoader(name, path) # XXX We probably don't need to pass in the loader here. spec = importlib.util.spec_from_file_location(name, path, loader=loader) - _spec = importlib._bootstrap._SpecMethods(spec) try: - return _spec.load() + return importlib._bootstrap._load(spec) except: raise ErrorDuringImport(path, sys.exc_info()) @@ -1823,7 +1821,8 @@ class Helper: if inspect.stack()[1][3] == '?': self() return '' - return '<pydoc.Helper instance>' + return '<%s.%s instance>' % (self.__class__.__module__, + self.__class__.__qualname__) _GoInteractive = object() def __call__(self, request=_GoInteractive): @@ -2072,9 +2071,8 @@ class ModuleScanner: else: path = None else: - _spec = importlib._bootstrap._SpecMethods(spec) try: - module = _spec.load() + module = importlib._bootstrap._load(spec) except ImportError: if onerror: onerror(modname) |