Dmitry Shachnev committed 0aece09

manpage writer: write MACRO_DEF only with Docutils < 0.11
(as current docutils >= r7607 writes it itself)

Comments (0)

Files changed (1)


 from docutils import nodes
+from docutils import __version__ as docutils_version
     from docutils.writers.manpage import MACRO_DEF, Writer, \
          Translator as BaseTranslator
 from sphinx import addnodes
 from sphinx.locale import admonitionlabels, _
 from sphinx.util.osutil import ustrftime
+from distutils.version import LooseVersion
 class ManualPageWriter(Writer):
         self._docinfo['version'] = builder.config.version
         self._docinfo['manual_group'] = builder.config.project
-        # since self.append_header() is never called, need to do this here
-        self.body.append(MACRO_DEF)
+        # In docutils < 0.11 self.append_header() was never called
+        if LooseVersion(docutils_version) < LooseVersion('0.11'):
+            self.body.append(MACRO_DEF)
         # Overwrite admonition label translations with our own
         for label, translation in admonitionlabels.items():