From edd9b0dfb39daa18c1462665c55bc4ad3d0a0e5d Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Sat, 29 Jul 2006 09:33:26 +0000 Subject: [PATCH] Bug #1441397: The compiler module now recognizes module and function docstrings correctly as it did in Python 2.4. --- Lib/compiler/transformer.py | 1 + Lib/test/test_compiler.py | 8 ++++++++ Misc/NEWS | 3 +++ 3 files changed, 12 insertions(+) diff --git a/Lib/compiler/transformer.py b/Lib/compiler/transformer.py index 53d30f04af8..a16dc553c46 100644 --- a/Lib/compiler/transformer.py +++ b/Lib/compiler/transformer.py @@ -1382,6 +1382,7 @@ _doc_nodes = [ symbol.testlist, symbol.testlist_safe, symbol.test, + symbol.or_test, symbol.and_test, symbol.not_test, symbol.comparison, diff --git a/Lib/test/test_compiler.py b/Lib/test/test_compiler.py index 17f181ee41c..929a12bb6f2 100644 --- a/Lib/test/test_compiler.py +++ b/Lib/test/test_compiler.py @@ -68,6 +68,14 @@ class CompilerTest(unittest.TestCase): def testDefaultArgs(self): self.assertRaises(SyntaxError, compiler.parse, "def foo(a=1, b): pass") + def testDocstrings(self): + c = compiler.compile('"doc"', '', 'exec') + self.assert_('__doc__' in c.co_names) + c = compiler.compile('def f():\n "doc"', '', 'exec') + g = {} + exec c in g + self.assertEquals(g['f'].__doc__, "doc") + def testLineNo(self): # Test that all nodes except Module have a correct lineno attribute. filename = __file__ diff --git a/Misc/NEWS b/Misc/NEWS index a626d870a2c..f3e0c6e5c0f 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -52,6 +52,9 @@ Core and builtins Library ------- +- Bug #1441397: The compiler module now recognizes module and function + docstrings correctly as it did in Python 2.4. + - Bug #1529297: The rewrite of doctest for Python 2.4 unintentionally lost that tests are sorted by name before being run. This rarely matters for well-written tests, but can create baffling symptoms if