diff options
Diffstat (limited to 'dev-python/epydoc/files')
| -rw-r--r-- | dev-python/epydoc/files/epydoc-docutils-0.6.patch | 27 | ||||
| -rw-r--r-- | dev-python/epydoc/files/epydoc-python-2.6.patch | 60 |
2 files changed, 87 insertions, 0 deletions
diff --git a/dev-python/epydoc/files/epydoc-docutils-0.6.patch b/dev-python/epydoc/files/epydoc-docutils-0.6.patch new file mode 100644 index 000000000000..35f44108a1ed --- /dev/null +++ b/dev-python/epydoc/files/epydoc-docutils-0.6.patch @@ -0,0 +1,27 @@ +Make epydoc work with docutils-0.6. + +Patch created by Engelbert Gruber (grubert) and adjusted by Martin von Gagern. + +References: +http://sourceforge.net/tracker/?func=detail&aid=2895197&group_id=32455&atid=405618 +http://thread.gmane.org/gmane.text.docutils.devel/4888/focus=4924 +http://bugs.gentoo.org/287546 + +Index: epydoc-3.0.1/epydoc/markup/restructuredtext.py +=================================================================== +--- epydoc-3.0.1.orig/epydoc/markup/restructuredtext.py ++++ epydoc-3.0.1/epydoc/markup/restructuredtext.py +@@ -304,10 +304,11 @@ class _SummaryExtractor(NodeVisitor): + # Extract the first sentence. + for child in node: + if isinstance(child, docutils.nodes.Text): +- m = self._SUMMARY_RE.match(child.data) ++ data = child.astext() ++ m = self._SUMMARY_RE.match(data) + if m: + summary_pieces.append(docutils.nodes.Text(m.group(1))) +- other = child.data[m.end():] ++ other = data[m.end():] + if other and not other.isspace(): + self.other_docs = True + break diff --git a/dev-python/epydoc/files/epydoc-python-2.6.patch b/dev-python/epydoc/files/epydoc-python-2.6.patch new file mode 100644 index 000000000000..84bb22d879c5 --- /dev/null +++ b/dev-python/epydoc/files/epydoc-python-2.6.patch @@ -0,0 +1,60 @@ +diff -Nur epydoc-3.0.1/epydoc/docparser.py epydoc-3.0.1/epydoc/docparser.py +--- epydoc-3.0.1/epydoc/docparser.py ++++ epydoc-3.0.1/epydoc/docparser.py +@@ -72,6 +72,26 @@ + from epydoc.compat import * + + ###################################################################### ++## Tokenizer change in 2.6 ++###################################################################### ++ ++def comment_includes_nl(): ++ """ Determine whether comments are parsed as one or two tokens... """ ++ readline = iter(u'\n#\n\n'.splitlines(True)).next ++ tokens = [ ++ token.tok_name[tup[0]] for tup in tokenize.generate_tokens(readline) ++ ] ++ if tokens == ['NL', 'COMMENT', 'NL', 'ENDMARKER']: ++ return True ++ elif tokens == ['NL', 'COMMENT', 'NL', 'NL', 'ENDMARKER']: ++ return False ++ raise AssertionError( ++ "Tokenizer returns unexexpected tokens: %r" % tokens ++ ) ++ ++comment_includes_nl = comment_includes_nl() ++ ++###################################################################### + ## Doc Parser + ###################################################################### + +@@ -520,6 +540,10 @@ + # inside that block, not outside it. + start_group = None + ++ # If the comment tokens do not include the NL, every comment token ++ # sets this to True in order to swallow the next NL token unprocessed. ++ comment_nl_waiting = False ++ + # Check if the source file declares an encoding. + encoding = get_module_encoding(module_doc.filename) + +@@ -570,7 +594,9 @@ + # then discard them: blank lines are not allowed between a + # comment block and the thing it describes. + elif toktype == tokenize.NL: +- if comments and not line_toks: ++ if comment_nl_waiting: ++ comment_nl_waiting = False ++ elif comments and not line_toks: + log.warning('Ignoring docstring comment block followed by ' + 'a blank line in %r on line %r' % + (module_doc.filename, srow-1)) +@@ -578,6 +604,7 @@ + + # Comment token: add to comments if appropriate. + elif toktype == tokenize.COMMENT: ++ comment_nl_waiting = not comment_includes_nl + if toktext.startswith(COMMENT_DOCSTRING_MARKER): + comment_line = toktext[len(COMMENT_DOCSTRING_MARKER):].rstrip() + if comment_line.startswith(" "): |
