From: Georg Brandl Date: Sat, 30 Sep 2006 11:06:51 +0000 (+0000) Subject: Bug #1560617: in pyclbr, return full module name not only for classes, X-Git-Tag: v2.4.4c1~85 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=ee2940d5d2a6a80490be8c79238499a17a65999f;p=thirdparty%2FPython%2Fcpython.git Bug #1560617: in pyclbr, return full module name not only for classes, but also for functions. (backport from rev. 52069) --- diff --git a/Lib/pyclbr.py b/Lib/pyclbr.py index 0812e22ff473..53e3b96bfd14 100644 --- a/Lib/pyclbr.py +++ b/Lib/pyclbr.py @@ -172,7 +172,7 @@ def _readmodule(module, path, inpackage=None): # else it's a nested def else: # it's a function - dict[meth_name] = Function(module, meth_name, file, lineno) + dict[meth_name] = Function(fullmodule, meth_name, file, lineno) stack.append((None, thisindent)) # Marker for nested fns elif token == 'class': lineno, thisindent = start diff --git a/Lib/test/test_pyclbr.py b/Lib/test/test_pyclbr.py index ceb7a3d17079..63b04b1f8492 100644 --- a/Lib/test/test_pyclbr.py +++ b/Lib/test/test_pyclbr.py @@ -93,6 +93,9 @@ class PyclbrTest(TestCase): py_item = getattr(module, name) if isinstance(value, pyclbr.Function): self.assert_(isinstance(py_item, (FunctionType, BuiltinFunctionType))) + if py_item.__module__ != moduleName: + continue # skip functions that came from somewhere else + self.assertEquals(py_item.__module__, value.module) else: self.failUnless(isinstance(py_item, (ClassType, type))) real_bases = [base.__name__ for base in py_item.__bases__] diff --git a/Misc/NEWS b/Misc/NEWS index 07be792bf28e..e0f7ec7b6b6b 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -119,6 +119,9 @@ Extension Modules Library ------- +- Bug #1560617: in pyclbr, return full module name not only for classes, + but also for functions. + - Bug #1566602: correct failure of posixpath unittest when $HOME ends with a slash.