Index: Lib/inspect.py =================================================================== --- Lib/inspect.py (revision 60647) +++ Lib/inspect.py (working copy) @@ -498,6 +498,8 @@ else: raise IOError('could not find class definition') + if hasattr(object, 'func_closure') and object.func_closure: + object = object.func_closure[0].cell_contents if ismethod(object): object = object.im_func if isfunction(object): @@ -512,7 +514,8 @@ lnum = object.co_firstlineno - 1 pat = re.compile(r'^(\s*def\s)|(.*(? 0: - if pat.match(lines[lnum]): break + if pat.match(lines[lnum]): + break lnum = lnum - 1 return lines, lnum raise IOError('could not find code object')