[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <16e161c8c67ac3b27cfc096cf07af9bceb144707.1465031816.git.jani.nikula@intel.com>
Date: Sat, 4 Jun 2016 14:37:36 +0300
From: Jani Nikula <jani.nikula@...el.com>
To: Jonathan Corbet <corbet@....net>
Cc: Jani Nikula <jani.nikula@...el.com>,
Markus Heiser <markus.heiser@...marit.de>,
Daniel Vetter <daniel.vetter@...ll.ch>,
Grant Likely <grant.likely@...retlab.ca>,
Mauro Carvalho Chehab <mchehab@....samsung.com>,
Keith Packard <keithp@...thp.com>,
LKML <linux-kernel@...r.kernel.org>, linux-doc@...r.kernel.org,
Hans Verkuil <hverkuil@...all.nl>,
Daniel Vetter <daniel.vetter@...el.com>
Subject: [PATCH v2 35/38] doc/sphinx: Stop touching state_machine internals
From: Daniel Vetter <daniel.vetter@...ll.ch>
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@...el.com>
Cc: linux-doc@...r.kernel.org
Cc: Jonathan Corbet <corbet@....net>
Signed-off-by: Daniel Vetter <daniel.vetter@...el.com>
Signed-off-by: Jani Nikula <jani.nikula@...el.com>
---
Documentation/sphinx/kernel-doc.py | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/Documentation/sphinx/kernel-doc.py b/Documentation/sphinx/kernel-doc.py
index 9fc2c27916a9..bd422870101e 100644
--- a/Documentation/sphinx/kernel-doc.py
+++ b/Documentation/sphinx/kernel-doc.py
@@ -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)))
--
2.1.4
Powered by blists - more mailing lists