Docstring bugfix (#103)
authorDag Sverre Seljebotn <dagss@student.matnat.uio.no>
Fri, 17 Oct 2008 07:44:59 +0000 (09:44 +0200)
committerDag Sverre Seljebotn <dagss@student.matnat.uio.no>
Fri, 17 Oct 2008 07:44:59 +0000 (09:44 +0200)
Cython/Compiler/Parsing.py
tests/run/r_docstrings.pyx

index 8ef8277abd8e9c8de4660f1370f1e8e8620e6e14..45fa1015474e208a60c20198a947e2e9dbe32ff2 100644 (file)
@@ -2401,14 +2401,16 @@ def p_compiler_directive_comments(s):
 
 def p_module(s, pxd, full_module_name):
     pos = s.position()
+
+    option_comments = p_compiler_directive_comments(s)
+    s.parse_comments = False
+
     doc = p_doc_string(s)
     if pxd:
         level = 'module_pxd'
     else:
         level = 'module'
 
-    option_comments = p_compiler_directive_comments(s)
-    s.parse_comments = False
     body = p_statement_list(s, Ctx(level = level), first_statement = 1)
     if s.sy != 'EOF':
         s.error("Syntax error in statement [%s,%s]" % (
index 60508fbedbda761ae4dc6d32a2aae614f146fa07..00a9fdad481f02ba90b2ede5b85661e46b9f0a54 100644 (file)
@@ -1,4 +1,14 @@
-__doc__ = u"""# Python 3 gets all of these right ...
+# Some comments first
+
+
+# More comments
+
+'A module docstring'
+
+doctest = u"""# Python 3 gets all of these right ...
+    >>> __doc__
+    'A module docstring'
+
     >>> f.__doc__
     'This is a function docstring.'
 
@@ -38,7 +48,9 @@ Compare with standard Python:
 
 import sys
 if sys.version_info[0] >= 3:
-    __doc__ = __doc__.replace(u" u'", u" '")
+    doctest = doctest.replace(u" u'", u" '")
+
+__test__ = {"test_docstrings" : doctest}
 
 def f():
     u"This is a function docstring."