qapi: Reject section markup in definition documentation

Section markup in definition documentation makes no sense and can
produce invalid Texinfo.  Reject.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200320091805.5585-2-armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
Markus Armbruster 2020-03-20 10:18:04 +01:00
parent 62f9256052
commit d98884b75d
5 changed files with 9 additions and 26 deletions

View File

@ -835,6 +835,8 @@ Double the '=' for a subsection title:
# == Subsection title
Both are only permitted in free-form documentation.
'|' denotes examples:
# | Text of the example, may span

View File

@ -282,6 +282,11 @@ class QAPISchemaParser:
doc.end_comment()
self.accept()
return doc
if self.val.startswith('# ='):
if doc.symbol:
raise QAPIParseError(
self,
"unexpected '=' markup in definition documentation")
doc.append(self.val)
self.accept(False)

View File

@ -0,0 +1 @@
doc-bad-section.json:5:1: unexpected '=' markup in definition documentation

View File

@ -1,9 +1,8 @@
# = section within an expression comment
# BUG: not rejected
##
# @Enum:
# == Produces *invalid* texinfo
# == No good here
# @one: The _one_ {and only}
#
# @two is undocumented

View File

@ -1,24 +0,0 @@
module None
object q_empty
enum QType
prefix QTYPE
member none
member qnull
member qnum
member qstring
member qdict
member qlist
member qbool
module doc-bad-section.json
enum Enum
member one
member two
doc symbol=Enum
body=
== Produces *invalid* texinfo
arg=one
The _one_ {and only}
arg=two
section=None
@two is undocumented