Merge lp:~mitya57/ubuntu/raring/sphinx/fix-ftbfs into lp:ubuntu/raring/sphinx

Proposed by Dmitry Shachnev
Status: Merged
Merged at revision: 38
Proposed branch: lp:~mitya57/ubuntu/raring/sphinx/fix-ftbfs
Merge into: lp:ubuntu/raring/sphinx
Diff against target: 600 lines (+105/-386)
8 files modified
.pc/applied-patches (+0/-1)
.pc/fix_manpages_generation_with_new_docutils.diff/sphinx/writers/manpage.py (+0/-345)
debian/changelog (+9/-0)
debian/control (+2/-2)
debian/patches/fix_manpages_generation_with_new_docutils.diff (+0/-33)
debian/patches/series (+1/-0)
debian/patches/support_python_3.3.diff (+87/-0)
sphinx/writers/manpage.py (+6/-5)
To merge this branch: bzr merge lp:~mitya57/ubuntu/raring/sphinx/fix-ftbfs
Reviewer Review Type Date Requested Status
Ubuntu branches Pending
Review via email: mp+130856@code.launchpad.net
To post a comment you must log in.
38. By Dmitry Shachnev

Build-depend on python3-all instead of python3.

39. By Dmitry Shachnev

* debian/patches/support_python_3.3:
  Fix various testsuite failures with Python 3.3 (LP: #1070336).
* Update Homepage field.

40. By Dmitry Shachnev

Fix patch format.

41. By Dmitry Shachnev

No-change merge from lp:ubuntu/sphinx.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file '.pc/applied-patches'
2--- .pc/applied-patches 2012-10-22 20:20:35 +0000
3+++ .pc/applied-patches 2012-11-01 17:56:20 +0000
4@@ -8,4 +8,3 @@
5 fix_nepali_po.diff
6 pygments_byte_strings.diff
7 fix_shorthandoff.diff
8-fix_manpages_generation_with_new_docutils.diff
9
10=== removed directory '.pc/fix_manpages_generation_with_new_docutils.diff'
11=== removed directory '.pc/fix_manpages_generation_with_new_docutils.diff/sphinx'
12=== removed directory '.pc/fix_manpages_generation_with_new_docutils.diff/sphinx/writers'
13=== removed file '.pc/fix_manpages_generation_with_new_docutils.diff/sphinx/writers/manpage.py'
14--- .pc/fix_manpages_generation_with_new_docutils.diff/sphinx/writers/manpage.py 2012-10-22 20:20:35 +0000
15+++ .pc/fix_manpages_generation_with_new_docutils.diff/sphinx/writers/manpage.py 1970-01-01 00:00:00 +0000
16@@ -1,345 +0,0 @@
17-# -*- coding: utf-8 -*-
18-"""
19- sphinx.writers.manpage
20- ~~~~~~~~~~~~~~~~~~~~~~
21-
22- Manual page writer, extended for Sphinx custom nodes.
23-
24- :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
25- :license: BSD, see LICENSE for details.
26-"""
27-
28-from docutils import nodes
29-try:
30- from docutils.writers.manpage import MACRO_DEF, Writer, \
31- Translator as BaseTranslator
32- has_manpage_writer = True
33-except ImportError:
34- # define the classes in any case, sphinx.application needs it
35- Writer = BaseTranslator = object
36- has_manpage_writer = False
37-
38-from sphinx import addnodes
39-from sphinx.locale import admonitionlabels, versionlabels, _
40-from sphinx.util.osutil import ustrftime
41-
42-
43-class ManualPageWriter(Writer):
44- def __init__(self, builder):
45- Writer.__init__(self)
46- self.builder = builder
47-
48- def translate(self):
49- visitor = ManualPageTranslator(self.builder, self.document)
50- self.visitor = visitor
51- self.document.walkabout(visitor)
52- self.output = visitor.astext()
53-
54-
55-class ManualPageTranslator(BaseTranslator):
56- """
57- Custom translator.
58- """
59-
60- def __init__(self, builder, *args, **kwds):
61- BaseTranslator.__init__(self, *args, **kwds)
62- self.builder = builder
63-
64- self.in_productionlist = 0
65-
66- # first title is the manpage title
67- self.section_level = -1
68-
69- # docinfo set by man_pages config value
70- self._docinfo['title'] = self.document.settings.title
71- self._docinfo['subtitle'] = self.document.settings.subtitle
72- if self.document.settings.authors:
73- # don't set it if no author given
74- self._docinfo['author'] = self.document.settings.authors
75- self._docinfo['manual_section'] = self.document.settings.section
76-
77- # docinfo set by other config values
78- self._docinfo['title_upper'] = self._docinfo['title'].upper()
79- if builder.config.today:
80- self._docinfo['date'] = builder.config.today
81- else:
82- self._docinfo['date'] = ustrftime(builder.config.today_fmt
83- or _('%B %d, %Y'))
84- self._docinfo['copyright'] = builder.config.copyright
85- self._docinfo['version'] = builder.config.version
86- self._docinfo['manual_group'] = builder.config.project
87-
88- # since self.append_header() is never called, need to do this here
89- self.body.append(MACRO_DEF)
90-
91- # overwritten -- added quotes around all .TH arguments
92- def header(self):
93- tmpl = (".TH \"%(title_upper)s\" \"%(manual_section)s\""
94- " \"%(date)s\" \"%(version)s\" \"%(manual_group)s\"\n"
95- ".SH NAME\n"
96- "%(title)s \- %(subtitle)s\n")
97- return tmpl % self._docinfo
98-
99- def visit_start_of_file(self, node):
100- pass
101- def depart_start_of_file(self, node):
102- pass
103-
104- def visit_desc(self, node):
105- self.visit_definition_list(node)
106- def depart_desc(self, node):
107- self.depart_definition_list(node)
108-
109- def visit_desc_signature(self, node):
110- self.visit_definition_list_item(node)
111- self.visit_term(node)
112- def depart_desc_signature(self, node):
113- self.depart_term(node)
114-
115- def visit_desc_addname(self, node):
116- pass
117- def depart_desc_addname(self, node):
118- pass
119-
120- def visit_desc_type(self, node):
121- pass
122- def depart_desc_type(self, node):
123- pass
124-
125- def visit_desc_returns(self, node):
126- self.body.append(' -> ')
127- def depart_desc_returns(self, node):
128- pass
129-
130- def visit_desc_name(self, node):
131- pass
132- def depart_desc_name(self, node):
133- pass
134-
135- def visit_desc_parameterlist(self, node):
136- self.body.append('(')
137- self.first_param = 1
138- def depart_desc_parameterlist(self, node):
139- self.body.append(')')
140-
141- def visit_desc_parameter(self, node):
142- if not self.first_param:
143- self.body.append(', ')
144- else:
145- self.first_param = 0
146- def depart_desc_parameter(self, node):
147- pass
148-
149- def visit_desc_optional(self, node):
150- self.body.append('[')
151- def depart_desc_optional(self, node):
152- self.body.append(']')
153-
154- def visit_desc_annotation(self, node):
155- pass
156- def depart_desc_annotation(self, node):
157- pass
158-
159- def visit_desc_content(self, node):
160- self.visit_definition(node)
161- def depart_desc_content(self, node):
162- self.depart_definition(node)
163-
164- def visit_refcount(self, node):
165- self.body.append(self.defs['emphasis'][0])
166- def depart_refcount(self, node):
167- self.body.append(self.defs['emphasis'][1])
168-
169- def visit_versionmodified(self, node):
170- self.visit_paragraph(node)
171- text = versionlabels[node['type']] % node['version']
172- if len(node):
173- text += ': '
174- else:
175- text += '.'
176- self.body.append(text)
177- def depart_versionmodified(self, node):
178- self.depart_paragraph(node)
179-
180- def visit_termsep(self, node):
181- self.body.append(', ')
182- raise nodes.SkipNode
183-
184- # overwritten -- we don't want source comments to show up
185- def visit_comment(self, node):
186- raise nodes.SkipNode
187-
188- # overwritten -- added ensure_eol()
189- def visit_footnote(self, node):
190- self.ensure_eol()
191- BaseTranslator.visit_footnote(self, node)
192-
193- # overwritten -- handle footnotes rubric
194- def visit_rubric(self, node):
195- self.ensure_eol()
196- if len(node.children) == 1:
197- rubtitle = node.children[0].astext()
198- if rubtitle in ('Footnotes', _('Footnotes')):
199- self.body.append('.SH ' + self.deunicode(rubtitle).upper() +
200- '\n')
201- raise nodes.SkipNode
202- else:
203- self.body.append('.sp\n')
204- def depart_rubric(self, node):
205- pass
206-
207- def visit_seealso(self, node):
208- self.visit_admonition(node)
209- def depart_seealso(self, node):
210- self.depart_admonition(node)
211-
212- # overwritten -- use our own label translations
213- def visit_admonition(self, node, name=None):
214- if name:
215- self.body.append('.IP %s\n' %
216- self.deunicode(admonitionlabels.get(name, name)))
217-
218- def visit_productionlist(self, node):
219- self.ensure_eol()
220- names = []
221- self.in_productionlist += 1
222- self.body.append('.sp\n.nf\n')
223- for production in node:
224- names.append(production['tokenname'])
225- maxlen = max(len(name) for name in names)
226- for production in node:
227- if production['tokenname']:
228- lastname = production['tokenname'].ljust(maxlen)
229- self.body.append(self.defs['strong'][0])
230- self.body.append(self.deunicode(lastname))
231- self.body.append(self.defs['strong'][1])
232- self.body.append(' ::= ')
233- else:
234- self.body.append('%s ' % (' '*len(lastname)))
235- production.walkabout(self)
236- self.body.append('\n')
237- self.body.append('\n.fi\n')
238- self.in_productionlist -= 1
239- raise nodes.SkipNode
240-
241- def visit_production(self, node):
242- pass
243- def depart_production(self, node):
244- pass
245-
246- # overwritten -- don't emit a warning for images
247- def visit_image(self, node):
248- if 'alt' in node.attributes:
249- self.body.append(_('[image: %s]') % node['alt'] + '\n')
250- self.body.append(_('[image]') + '\n')
251- raise nodes.SkipNode
252-
253- # overwritten -- don't visit inner marked up nodes
254- def visit_reference(self, node):
255- self.body.append(self.defs['reference'][0])
256- self.body.append(node.astext())
257- self.body.append(self.defs['reference'][1])
258-
259- uri = node.get('refuri', '')
260- if uri.startswith('mailto:') or uri.startswith('http:') or \
261- uri.startswith('https:') or uri.startswith('ftp:'):
262- # if configured, put the URL after the link
263- if self.builder.config.man_show_urls and \
264- node.astext() != uri:
265- if uri.startswith('mailto:'):
266- uri = uri[7:]
267- self.body.extend([
268- ' <',
269- self.defs['strong'][0], uri, self.defs['strong'][1],
270- '>'])
271- raise nodes.SkipNode
272-
273- def visit_centered(self, node):
274- self.ensure_eol()
275- self.body.append('.sp\n.ce\n')
276- def depart_centered(self, node):
277- self.body.append('\n.ce 0\n')
278-
279- def visit_compact_paragraph(self, node):
280- pass
281- def depart_compact_paragraph(self, node):
282- pass
283-
284- def visit_highlightlang(self, node):
285- pass
286- def depart_highlightlang(self, node):
287- pass
288-
289- def visit_download_reference(self, node):
290- pass
291- def depart_download_reference(self, node):
292- pass
293-
294- def visit_toctree(self, node):
295- raise nodes.SkipNode
296-
297- def visit_index(self, node):
298- raise nodes.SkipNode
299-
300- def visit_tabular_col_spec(self, node):
301- raise nodes.SkipNode
302-
303- def visit_glossary(self, node):
304- pass
305- def depart_glossary(self, node):
306- pass
307-
308- def visit_acks(self, node):
309- self.ensure_eol()
310- self.body.append(', '.join(n.astext()
311- for n in node.children[0].children) + '.')
312- self.body.append('\n')
313- raise nodes.SkipNode
314-
315- def visit_hlist(self, node):
316- self.visit_bullet_list(node)
317- def depart_hlist(self, node):
318- self.depart_bullet_list(node)
319-
320- def visit_hlistcol(self, node):
321- pass
322- def depart_hlistcol(self, node):
323- pass
324-
325- def visit_literal_emphasis(self, node):
326- return self.visit_emphasis(node)
327- def depart_literal_emphasis(self, node):
328- return self.depart_emphasis(node)
329-
330- def visit_abbreviation(self, node):
331- pass
332- def depart_abbreviation(self, node):
333- pass
334-
335- # overwritten: handle section titles better than in 0.6 release
336- def visit_title(self, node):
337- if isinstance(node.parent, addnodes.seealso):
338- self.body.append('.IP "')
339- return
340- elif isinstance(node.parent, nodes.section):
341- if self.section_level == 0:
342- # skip the document title
343- raise nodes.SkipNode
344- elif self.section_level == 1:
345- self.body.append('.SH %s\n' %
346- self.deunicode(node.astext().upper()))
347- raise nodes.SkipNode
348- return BaseTranslator.visit_title(self, node)
349- def depart_title(self, node):
350- if isinstance(node.parent, addnodes.seealso):
351- self.body.append('"\n')
352- return
353- return BaseTranslator.depart_title(self, node)
354-
355- def visit_raw(self, node):
356- if 'manpage' in node.get('format', '').split():
357- self.body.append(node.astext())
358- raise nodes.SkipNode
359-
360- def unknown_visit(self, node):
361- raise NotImplementedError('Unknown node: ' + node.__class__.__name__)
362
363=== modified file 'debian/changelog'
364--- debian/changelog 2012-10-22 20:20:35 +0000
365+++ debian/changelog 2012-11-01 17:56:20 +0000
366@@ -1,3 +1,12 @@
367+sphinx (1.1.3+dfsg-4ubuntu5) raring; urgency=low
368+
369+ * Build-depend on python3-all instead of python3.
370+ * debian/patches/support_python_3.3:
371+ Fix various testsuite failures with Python 3.3 (LP: #1070336).
372+ * Update Homepage field.
373+
374+ -- Dmitry Shachnev <mitya57@gmail.com> Thu, 01 Nov 2012 21:39:16 +0400
375+
376 sphinx (1.1.3+dfsg-4ubuntu4) raring; urgency=low
377
378 * debian/patches/fix_manpages_generation_with_new_docutils.diff:
379
380=== modified file 'debian/control'
381--- debian/control 2012-08-21 17:45:58 +0000
382+++ debian/control 2012-11-01 17:56:20 +0000
383@@ -4,9 +4,9 @@
384 Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
385 XSBC-Original-Maintainer: Jakub Wilk <jwilk@debian.org>
386 Uploaders: Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>
387-Homepage: http://sphinx.pocoo.org/
388+Homepage: http://sphinx-doc.org/
389 Build-Depends: debhelper (>= 7)
390-Build-Depends-Indep: python-all (>= 2.6.5-2~), python3 (>= 3.1.2-7~),
391+Build-Depends-Indep: python-all (>= 2.6.5-2~), python3-all (>= 3.1.2-7~),
392 python-setuptools (>= 0.6c5-1~), python3-setuptools,
393 python-docutils (>= 0.7), python3-docutils (>= 0.7),
394 python-pygments (>= 1.2), python3-pygments (>= 1.2),
395
396=== added file 'debian/patches/fix_manpages_generation_with_new_docutils.diff'
397--- debian/patches/fix_manpages_generation_with_new_docutils.diff 1970-01-01 00:00:00 +0000
398+++ debian/patches/fix_manpages_generation_with_new_docutils.diff 2012-11-01 17:56:20 +0000
399@@ -0,0 +1,33 @@
400+Description: Fix build failure with Docutils 0.9
401+Bug: https://bitbucket.org/birkenfeld/sphinx/issue/998/docutils-010-will-break-sphinx-manpage
402+Author: Toshio Kuratomi <a.badger@gmail.com>
403+Last-Update: 2012-10-22
404+
405+diff -up a/sphinx/writers/manpage.py b/sphinx/writers/manpage.py
406+--- a/sphinx/writers/manpage.py 2011-11-01 00:38:44.000000000 -0700
407++++ b/sphinx/writers/manpage.py 2012-08-21 12:38:33.380808202 -0700
408+@@ -72,6 +72,11 @@ class ManualPageTranslator(BaseTranslato
409+ # since self.append_header() is never called, need to do this here
410+ self.body.append(MACRO_DEF)
411+
412++ # Overwrite admonition label translations with our own
413++ for label, translation in admonitionlabels.items():
414++ self.language.labels[label] = self.deunicode(translation)
415++
416++
417+ # overwritten -- added quotes around all .TH arguments
418+ def header(self):
419+ tmpl = (".TH \"%(title_upper)s\" \"%(manual_section)s\""
420+@@ -193,12 +198,6 @@ class ManualPageTranslator(BaseTranslato
421+ def depart_seealso(self, node):
422+ self.depart_admonition(node)
423+
424+- # overwritten -- use our own label translations
425+- def visit_admonition(self, node, name=None):
426+- if name:
427+- self.body.append('.IP %s\n' %
428+- self.deunicode(admonitionlabels.get(name, name)))
429+-
430+ def visit_productionlist(self, node):
431+ self.ensure_eol()
432+ names = []
433
434=== removed file 'debian/patches/fix_manpages_generation_with_new_docutils.diff'
435--- debian/patches/fix_manpages_generation_with_new_docutils.diff 2012-10-22 20:20:35 +0000
436+++ debian/patches/fix_manpages_generation_with_new_docutils.diff 1970-01-01 00:00:00 +0000
437@@ -1,33 +0,0 @@
438-Description: Fix build failure with Docutils 0.9
439-Bug: https://bitbucket.org/birkenfeld/sphinx/issue/998/docutils-010-will-break-sphinx-manpage
440-Author: Toshio Kuratomi <a.badger@gmail.com>
441-Last-Update: 2012-10-22
442-
443-diff -up a/sphinx/writers/manpage.py b/sphinx/writers/manpage.py
444---- a/sphinx/writers/manpage.py 2011-11-01 00:38:44.000000000 -0700
445-+++ b/sphinx/writers/manpage.py 2012-08-21 12:38:33.380808202 -0700
446-@@ -72,6 +72,11 @@ class ManualPageTranslator(BaseTranslato
447- # since self.append_header() is never called, need to do this here
448- self.body.append(MACRO_DEF)
449-
450-+ # Overwrite admonition label translations with our own
451-+ for label, translation in admonitionlabels.items():
452-+ self.language.labels[label] = self.deunicode(translation)
453-+
454-+
455- # overwritten -- added quotes around all .TH arguments
456- def header(self):
457- tmpl = (".TH \"%(title_upper)s\" \"%(manual_section)s\""
458-@@ -193,12 +198,6 @@ class ManualPageTranslator(BaseTranslato
459- def depart_seealso(self, node):
460- self.depart_admonition(node)
461-
462-- # overwritten -- use our own label translations
463-- def visit_admonition(self, node, name=None):
464-- if name:
465-- self.body.append('.IP %s\n' %
466-- self.deunicode(admonitionlabels.get(name, name)))
467--
468- def visit_productionlist(self, node):
469- self.ensure_eol()
470- names = []
471
472=== modified file 'debian/patches/series'
473--- debian/patches/series 2012-10-22 20:20:35 +0000
474+++ debian/patches/series 2012-11-01 17:56:20 +0000
475@@ -9,3 +9,4 @@
476 pygments_byte_strings.diff
477 fix_shorthandoff.diff
478 fix_manpages_generation_with_new_docutils.diff
479+support_python_3.3.diff
480
481=== added file 'debian/patches/support_python_3.3.diff'
482--- debian/patches/support_python_3.3.diff 1970-01-01 00:00:00 +0000
483+++ debian/patches/support_python_3.3.diff 2012-11-01 17:56:20 +0000
484@@ -0,0 +1,87 @@
485+Description: Fix various testsuite failures with Python 3.3
486+Author: Takayuki Shimizukawa <shimizukawa@gmail.com>
487+Bug: https://bitbucket.org/birkenfeld/sphinx/issue/1008/test-failures-with-python-33
488+Bug-Ubuntu: https://bugs.launchpad.net/bugs/1070336
489+Last-Update: 2012-11-01
490+
491+=== modified file 'sphinx/environment.py'
492+--- a/sphinx/environment.py 2012-03-30 23:32:16 +0000
493++++ b/sphinx/environment.py 2012-11-01 17:33:08 +0000
494+@@ -782,7 +782,11 @@
495+ app.emit('doctree-read', doctree)
496+
497+ # store time of build, for outdated files detection
498+- self.all_docs[docname] = time.time()
499++ # (Some filesystems have coarse timestamp resolution;
500++ # therefore time.time() is older than filesystem's timestamp.
501++ # For example, FAT32 has 2sec timestamp resolution.)
502++ self.all_docs[docname] = max(
503++ time.time(), path.getmtime(self.doc2path(docname)))
504+
505+ if self.versioning_condition:
506+ # get old doctree
507+
508+=== modified file 'sphinx/ext/autodoc.py'
509+--- a/sphinx/ext/autodoc.py 2012-03-30 23:32:16 +0000
510++++ b/sphinx/ext/autodoc.py 2012-11-01 17:33:08 +0000
511+@@ -1098,7 +1098,7 @@
512+ """
513+ objtype = 'method'
514+ member_order = 50
515+- priority = 0
516++ priority = 1 # must be more than FunctionDocumenter
517+
518+ @classmethod
519+ def can_document_member(cls, member, membername, isattr, parent):
520+
521+=== modified file 'sphinx/ext/intersphinx.py'
522+--- a/sphinx/ext/intersphinx.py 2012-03-30 23:32:16 +0000
523++++ b/sphinx/ext/intersphinx.py 2012-11-01 17:33:13 +0000
524+@@ -188,7 +188,17 @@
525+ if update:
526+ env.intersphinx_inventory = {}
527+ env.intersphinx_named_inventory = {}
528+- for name, _, invdata in cache.itervalues():
529++ # Duplicate values in different inventories will shadow each
530++ # other; which one will override which can vary between builds
531++ # since they are specified using an unordered dict. To make
532++ # it more consistent, we sort the named inventories and then
533++ # add the unnamed inventories last. This means that the
534++ # unnamed inventories will shadow the named ones but the named
535++ # ones can still be accessed when the name is specified.
536++ cached_vals = list(cache.itervalues())
537++ named_vals = sorted(v for v in cached_vals if v[0])
538++ unnamed_vals = [v for v in cached_vals if not v[0]]
539++ for name, _, invdata in named_vals + unnamed_vals:
540+ if name:
541+ env.intersphinx_named_inventory[name] = invdata
542+ for type, objects in invdata.iteritems():
543+
544+=== modified file 'sphinx/util/__init__.py'
545+--- a/sphinx/util/__init__.py 2012-03-30 23:32:16 +0000
546++++ b/sphinx/util/__init__.py 2012-11-01 17:37:41 +0000
547+@@ -197,13 +197,18 @@
548+ except Exception, err:
549+ raise PycodeError('error importing %r' % modname, err)
550+ mod = sys.modules[modname]
551+- if hasattr(mod, '__loader__'):
552+- try:
553+- source = mod.__loader__.get_source(modname)
554++ filename = getattr(mod, '__file__', None)
555++ loader = getattr(mod, '__loader__', None)
556++ if loader and getattr(loader, 'get_filename', None):
557++ try:
558++ filename = loader.get_filename(modname)
559++ except Exception, err:
560++ raise PycodeError('error getting filename for %r' % filename, err)
561++ if filename is None and loader:
562++ try:
563++ return 'string', loader.get_source(modname)
564+ except Exception, err:
565+ raise PycodeError('error getting source for %r' % modname, err)
566+- return 'string', source
567+- filename = getattr(mod, '__file__', None)
568+ if filename is None:
569+ raise PycodeError('no source found for module %r' % modname)
570+ filename = path.normpath(path.abspath(filename))
571+
572
573=== modified file 'sphinx/writers/manpage.py'
574--- sphinx/writers/manpage.py 2012-10-22 20:20:35 +0000
575+++ sphinx/writers/manpage.py 2012-11-01 17:56:20 +0000
576@@ -72,11 +72,6 @@
577 # since self.append_header() is never called, need to do this here
578 self.body.append(MACRO_DEF)
579
580- # Overwrite admonition label translations with our own
581- for label, translation in admonitionlabels.items():
582- self.language.labels[label] = self.deunicode(translation)
583-
584-
585 # overwritten -- added quotes around all .TH arguments
586 def header(self):
587 tmpl = (".TH \"%(title_upper)s\" \"%(manual_section)s\""
588@@ -198,6 +193,12 @@
589 def depart_seealso(self, node):
590 self.depart_admonition(node)
591
592+ # overwritten -- use our own label translations
593+ def visit_admonition(self, node, name=None):
594+ if name:
595+ self.body.append('.IP %s\n' %
596+ self.deunicode(admonitionlabels.get(name, name)))
597+
598 def visit_productionlist(self, node):
599 self.ensure_eol()
600 names = []

Subscribers

People subscribed via source and target branches