diff options
author | Brett Cannon <bcannon@gmail.com> | 2004-08-13 18:46:24 (GMT) |
---|---|---|
committer | Brett Cannon <bcannon@gmail.com> | 2004-08-13 18:46:24 (GMT) |
commit | b3de2e13baaac7573720c62276984cba13c01c75 (patch) | |
tree | 1bdbfc92073f09a00c617d2f9f04705dbf2936ae | |
parent | 08d786a6086a31139edfbb40769dfebed3c9e7c3 (diff) | |
download | cpython-b3de2e13baaac7573720c62276984cba13c01c75.zip cpython-b3de2e13baaac7573720c62276984cba13c01c75.tar.gz cpython-b3de2e13baaac7573720c62276984cba13c01c75.tar.bz2 |
'inspect' was not listing the functions in a module properly if the module was
reached through a symlink (was comparing path of module to path to function and
were not matching because of the symlink). os.path.realpath() is now used to
solve this discrepency.
Closes bug #570300. Thanks Johannes Gijsbers for the fix.
-rw-r--r-- | Lib/inspect.py | 4 | ||||
-rw-r--r-- | Misc/NEWS | 4 |
2 files changed, 7 insertions, 1 deletions
diff --git a/Lib/inspect.py b/Lib/inspect.py index 12c9cb7..7f73264 100644 --- a/Lib/inspect.py +++ b/Lib/inspect.py @@ -380,7 +380,9 @@ def getmodule(object): return sys.modules.get(modulesbyfile[file]) for module in sys.modules.values(): if hasattr(module, '__file__'): - modulesbyfile[getabsfile(module)] = module.__name__ + modulesbyfile[ + os.path.realpath( + getabsfile(module))] = module.__name__ if file in modulesbyfile: return sys.modules.get(modulesbyfile[file]) main = sys.modules['__main__'] @@ -41,6 +41,10 @@ Extension modules Library ------- +- bug #570300: Fix inspect to resolve file locations using os.path.realpath() + so as to properly list all functions in a module when the module itself is + reached through a symlink. Thanks Johannes Gijsbers. + - doctest refactoring continued. See the docs for details. As part of this effort, some old and little- (never?) used features are now deprecated: the Tester class, the module is_private() function, and the |