Author: christian.heimes Date: Sat Feb 23 16:01:06 2008 New Revision: 60979
Modified: python/branches/py3k/Lib/test/test_inspect.py python/branches/py3k/Misc/NEWS python/branches/py3k/Python/ast.c Log: Patch from Georg Brandl: Fix co_lineno of decorated function and class objects. If you see an error in test_inspect please delete all pyc files. Modified: python/branches/py3k/Lib/test/test_inspect.py ============================================================================== --- python/branches/py3k/Lib/test/test_inspect.py (original) +++ python/branches/py3k/Lib/test/test_inspect.py Sat Feb 23 16:01:06 2008 @@ -239,7 +239,7 @@ fodderFile = mod2 def test_wrapped_decorator(self): - self.assertSourceEqual(mod2.wrapped, 16, 17) + self.assertSourceEqual(mod2.wrapped, 14, 17) def test_replacing_decorator(self): self.assertSourceEqual(mod2.gone, 9, 10) Modified: python/branches/py3k/Misc/NEWS ============================================================================== --- python/branches/py3k/Misc/NEWS (original) +++ python/branches/py3k/Misc/NEWS Sat Feb 23 16:01:06 2008 @@ -363,6 +363,8 @@ Library ------- +- inspect.getsource() includes the decorators again. + - Issue #1916. Added isgenerator() and isgeneratorfunction() to inspect.py. - #1224: Fixed bad url parsing when path begins with double slash. Modified: python/branches/py3k/Python/ast.c ============================================================================== --- python/branches/py3k/Python/ast.c (original) +++ python/branches/py3k/Python/ast.c Sat Feb 23 16:01:06 2008 @@ -1015,6 +1015,12 @@ } else if (TYPE(CHILD(n, 1)) == classdef) { thing = ast_for_classdef(c, CHILD(n, 1), decorator_seq); } + /* we count the decorators in when talking about the class' or + * function's line number */ + if (thing) { + thing->lineno = LINENO(n); + thing->col_offset = n->n_col_offset; + } return thing; } _______________________________________________ Python-3000-checkins mailing list Python-3000-checkins@python.org http://mail.python.org/mailman/listinfo/python-3000-checkins