* docs/qemu-qmp-ref.7 markup messed up @ 2021-03-26 14:19 Markus Armbruster 2021-03-26 20:40 ` John Snow 0 siblings, 1 reply; 3+ messages in thread From: Markus Armbruster @ 2021-03-26 14:19 UTC (permalink / raw) To: Peter Maydell; +Cc: qemu When I look at docs/qemu-qmp-ref.7 with less -R, I see ReplicationMode (Enum) An enumeration of replication modes. Values primary Primary mode, the vm's state will be sent to secondary QEMU. secondary Secondary mode, receive the vm's state from primary QEMU. Since 2.9 If --> defined(CONFIG_REPLICATION).SS BlockdevOptionsReplication (Object) Driver specific block device options for replication Members mode: ReplicationMode the replication mode The line I marked with --> is bad. It should instead look like If defined(CONFIG_REPLICATION) BlockdevOptionsReplication (Object) Driver specific block device options for replication Unformatted code: .SS \fBReplicationMode\fP (Enum) .sp An enumeration of replication modes. .SS Values .INDENT 0.0 .TP .B \fBprimary\fP Primary mode, the vm\(aqs state will be sent to secondary QEMU. .TP .B \fBsecondary\fP Secondary mode, receive the vm\(aqs state from primary QEMU. .UNINDENT .SS Since .sp 2.9 .SS If --> \fBdefined(CONFIG_REPLICATION)\fP.SS \fBBlockdevOptionsReplication\fP (Object) .sp Driver specific block device options for replication .SS Members .INDENT 0.0 .TP .B \fBmode\fP: \fBReplicationMode\fP the replication mode .TP I believe line I marked with --> should be broken before .SS. I'm using sphinx-build-3 2.2.2. I checked with the merge commit that switched QAPI doc generation to Sphinx (commit e344ffe73b), same result. ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: docs/qemu-qmp-ref.7 markup messed up 2021-03-26 14:19 docs/qemu-qmp-ref.7 markup messed up Markus Armbruster @ 2021-03-26 20:40 ` John Snow 2021-04-06 13:33 ` Markus Armbruster 0 siblings, 1 reply; 3+ messages in thread From: John Snow @ 2021-03-26 20:40 UTC (permalink / raw) To: Markus Armbruster, Peter Maydell; +Cc: QEMU Developers On 3/26/21 10:19 AM, Markus Armbruster wrote: > When I look at docs/qemu-qmp-ref.7 with less -R, I see > > ReplicationMode (Enum) > An enumeration of replication modes. > > Values > primary > Primary mode, the vm's state will be sent to secondary QEMU. > > secondary > Secondary mode, receive the vm's state from primary QEMU. > > Since > 2.9 > > If > --> defined(CONFIG_REPLICATION).SS BlockdevOptionsReplication (Object) > > Driver specific block device options for replication > > Members > mode: ReplicationMode > the replication mode > > The line I marked with --> is bad. It should instead look like > > If > defined(CONFIG_REPLICATION) > > BlockdevOptionsReplication (Object) > > Driver specific block device options for replication > > Unformatted code: > > .SS \fBReplicationMode\fP (Enum) > .sp > An enumeration of replication modes. > .SS Values > .INDENT 0.0 > .TP > .B \fBprimary\fP > Primary mode, the vm\(aqs state will be sent to secondary QEMU. > .TP > .B \fBsecondary\fP > Secondary mode, receive the vm\(aqs state from primary QEMU. > .UNINDENT > .SS Since > .sp > 2.9 > .SS If > --> \fBdefined(CONFIG_REPLICATION)\fP.SS \fBBlockdevOptionsReplication\fP (Object) > .sp > Driver specific block device options for replication > .SS Members > .INDENT 0.0 > .TP > .B \fBmode\fP: \fBReplicationMode\fP > the replication mode > .TP > > I believe line I marked with --> should be broken before .SS. > > I'm using sphinx-build-3 2.2.2. > > I checked with the merge commit that switched QAPI doc generation to > Sphinx (commit e344ffe73b), same result. > > It looks like that's consistent for every case I can see for "defined(...)", where the .SS bit comes immediately on the same line. _nodes_for_if_section seems to handle the docutil tree creation for the stuff in question, here, I think? I changed the heading to "IfZ" to make it nicer to grep, and then If I pepper in some prints (mercifully docutils has very nice __str__ methods!) I can see this type of stuff: <section ids="qapidoc-713"><title>IfZ</title><literal>defined(CONFIG_REPLICATION)</literal></section> <section ids="qapidoc-717"><title>IfZ</title><literal>defined(CONFIG_REPLICATION)</literal></section> Hm, I think <literal> is not a block-level element, and maybe there's a bug/intentional-design-choice/bug where it can't handle a non-block child of a section correctly? Let me try wrapping it in a PARAGRAPH node... .SS IfZ .sp \fBdefined(CONFIG_REPLICATION)\fP .SS \fBBlockdevOptionsReplication\fP (Object) .sp That looks better, I think. diff --git a/docs/sphinx/qapidoc.py b/docs/sphinx/qapidoc.py index b7b86b5dff..b7a2d39c10 100644 --- a/docs/sphinx/qapidoc.py +++ b/docs/sphinx/qapidoc.py @@ -278,7 +278,9 @@ def _nodes_for_if_section(self, ifcond): nodelist = [] if ifcond: snode = self._make_section('If') - snode += self._nodes_for_ifcond(ifcond, with_if=False) + snode += nodes.paragraph( + '', '', *self._nodes_for_ifcond(ifcond, with_if=False) + ) nodelist.append(snode) return nodelist Signed-off-by: John Snow <jsnow@redhat.com> --js ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: docs/qemu-qmp-ref.7 markup messed up 2021-03-26 20:40 ` John Snow @ 2021-04-06 13:33 ` Markus Armbruster 0 siblings, 0 replies; 3+ messages in thread From: Markus Armbruster @ 2021-04-06 13:33 UTC (permalink / raw) To: John Snow; +Cc: Peter Maydell, Markus Armbruster, QEMU Developers John Snow <jsnow@redhat.com> writes: > On 3/26/21 10:19 AM, Markus Armbruster wrote: >> When I look at docs/qemu-qmp-ref.7 with less -R, I see >> ReplicationMode (Enum) >> An enumeration of replication modes. >> Values >> primary >> Primary mode, the vm's state will be sent to secondary QEMU. >> secondary >> Secondary mode, receive the vm's state from primary QEMU. >> Since >> 2.9 >> If >> --> defined(CONFIG_REPLICATION).SS BlockdevOptionsReplication (Object) >> Driver specific block device options for replication >> Members >> mode: ReplicationMode >> the replication mode >> The line I marked with --> is bad. It should instead look like >> If >> defined(CONFIG_REPLICATION) >> BlockdevOptionsReplication (Object) >> Driver specific block device options for replication >> Unformatted code: >> .SS \fBReplicationMode\fP (Enum) >> .sp >> An enumeration of replication modes. >> .SS Values >> .INDENT 0.0 >> .TP >> .B \fBprimary\fP >> Primary mode, the vm\(aqs state will be sent to secondary QEMU. >> .TP >> .B \fBsecondary\fP >> Secondary mode, receive the vm\(aqs state from primary QEMU. >> .UNINDENT >> .SS Since >> .sp >> 2.9 >> .SS If >> --> \fBdefined(CONFIG_REPLICATION)\fP.SS \fBBlockdevOptionsReplication\fP (Object) >> .sp >> Driver specific block device options for replication >> .SS Members >> .INDENT 0.0 >> .TP >> .B \fBmode\fP: \fBReplicationMode\fP >> the replication mode >> .TP >> I believe line I marked with --> should be broken before .SS. >> I'm using sphinx-build-3 2.2.2. >> I checked with the merge commit that switched QAPI doc generation to >> Sphinx (commit e344ffe73b), same result. >> > > It looks like that's consistent for every case I can see for > "defined(...)", where the .SS bit comes immediately on the same line. > > _nodes_for_if_section seems to handle the docutil tree creation for > the stuff in question, here, I think? > > I changed the heading to "IfZ" to make it nicer to grep, and then If I > pepper in some prints (mercifully docutils has very nice __str__ > methods!) I can see this type of stuff: > > <section > ids="qapidoc-713"><title>IfZ</title><literal>defined(CONFIG_REPLICATION)</literal></section> > <section > ids="qapidoc-717"><title>IfZ</title><literal>defined(CONFIG_REPLICATION)</literal></section> > > Hm, I think <literal> is not a block-level element, and maybe there's > a bug/intentional-design-choice/bug where it can't handle a non-block > child of a section correctly? > > Let me try wrapping it in a PARAGRAPH node... > > .SS IfZ > .sp > \fBdefined(CONFIG_REPLICATION)\fP > .SS \fBBlockdevOptionsReplication\fP (Object) > .sp > > > That looks better, I think. > > > diff --git a/docs/sphinx/qapidoc.py b/docs/sphinx/qapidoc.py > index b7b86b5dff..b7a2d39c10 100644 > --- a/docs/sphinx/qapidoc.py > +++ b/docs/sphinx/qapidoc.py > @@ -278,7 +278,9 @@ def _nodes_for_if_section(self, ifcond): > nodelist = [] > if ifcond: > snode = self._make_section('If') > - snode += self._nodes_for_ifcond(ifcond, with_if=False) > + snode += nodes.paragraph( > + '', '', *self._nodes_for_ifcond(ifcond, with_if=False) > + ) > nodelist.append(snode) > return nodelist > > > Signed-off-by: John Snow <jsnow@redhat.com> > > --js Fixes the issue for me, thanks! Tested-by: Markus Armbruster <armbru@redhat.com> Please post as a proper patch. ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-04-06 13:34 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-03-26 14:19 docs/qemu-qmp-ref.7 markup messed up Markus Armbruster 2021-03-26 20:40 ` John Snow 2021-04-06 13:33 ` Markus Armbruster
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).