mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-19 13:11:14 +00:00
doc/sphinx: Stop touching state_machine internals
Instead of just forcefully inserting our kernel-doc input and letting the state machine stumble over it the recommended way is to create ViewList, parse that and then return the list of parsed nodes. Suggested by Jani. Cc: Jani Nikula <jani.nikula@intel.com> Cc: linux-doc@vger.kernel.org Cc: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
parent
ebff7f929b
commit
16e161c8c6
1 changed files with 9 additions and 2 deletions
|
@ -32,6 +32,7 @@ import subprocess
|
|||
import sys
|
||||
|
||||
from docutils import nodes, statemachine
|
||||
from docutils.statemachine import ViewList
|
||||
from docutils.parsers.rst import directives
|
||||
from sphinx.util.compat import Directive
|
||||
|
||||
|
@ -92,8 +93,14 @@ class KernelDocDirective(Directive):
|
|||
sys.stderr.write(err)
|
||||
|
||||
lines = statemachine.string2lines(out, tab_width, convert_whitespace=True)
|
||||
self.state_machine.insert_input(lines, source)
|
||||
return []
|
||||
result = ViewList(lines, source)
|
||||
|
||||
node = nodes.section()
|
||||
node.document = self.state.document
|
||||
self.state.nested_parse(result, self.content_offset, node)
|
||||
|
||||
return node.children
|
||||
|
||||
except Exception as e:
|
||||
env.app.warn('kernel-doc \'%s\' processing failed with: %s' %
|
||||
(" ".join(cmd), str(e)))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue