On Mon, Jun 16, 2025 at 8:20 AM Markus Armbruster <arm...@redhat.com> wrote:

> John Snow <js...@redhat.com> writes:
>
> > Thanks for your service!
> >
> > Remove the old qapidoc and the option to enable the transmogrifier,
> > leaving the "transmogrifier" as the ONLY qapi doc generator. This in
> > effect also converts the QAPI test to use the new documentation
> > generator, too.
> >
> > Signed-off-by: John Snow <js...@redhat.com>
>
> Fails "make check", because tests/qapi-schema/doc-good.txt needs an
> update.
>
> Unfortunately, the diff of the update is less than useful.  To make
> sense of what changes, I split doc-good.txt into parts before and after,
> and diffed those.
>
>
>   diff -rupw o/01 n/01
>   --- o/01      2025-06-16 13:53:05.036940854 +0200
>   +++ n/01      2025-06-16 13:49:07.167435996 +0200
>   @@ -1,11 +1,13 @@
>    Section
>    *******
>
>   +Just text, no heading.
>   +
>
> Looks like a bug fix.  Needs a mention in the commit message then.
>

I think before, these sections just got ... discarded? but with no special
formatting, they just get copied through. You could call it a bugfix, you
could call it an unintentional side effect.

For my money, I think it's fine to allow free-form docs to have any
arbitrary content. If it produces bad results, don't do it, then. Fewer
constraints = less code.


>
>    Subsection
>    ==========
>
>   -*with emphasis* "var" {in braces}
>   +*with emphasis* @var {in braces}
>
> Rendering of @references changes.  Okay.
>

Unintentional. Freeform sections are handled outside of "visit_sections",
because they are not attached to an entity, and so the @references
rendering is missed. Bug, I'll fix it.


>
>    * List item one
>
>   @@ -35,4 +37,3 @@ Example:
>
>    -> in <- out Examples: - *verbatim* - {braces}
>
>   -
>   diff -rupw o/02 n/02
>   --- o/02      2025-06-16 13:53:17.133712123 +0200
>   +++ n/02      2025-06-16 13:49:21.024174424 +0200
>   @@ -1,32 +1,15 @@
>   -"Enum" (Enum)
>   --------------
>   +Enum Enum
>   +    *Availability*: "IFCOND"
>
>   +   Values:
>   +      * **one** -- The _one_ {and only}, description on the same line
>
>   -Values
>   -~~~~~~
>   +      * **two** -- Not documented
>
>   -"one" (**If: **"IFONE")
>
> Member conditional is lost.  Known issue; see commit dbf51d15fdb.
>
>   -   The _one_ {and only}, description on the same line
>   +   Features:
>   +      * **enum-feat** -- Also _one_ {and only}
>
>   -"two"
>   -   Not documented
>   -
>   -
>   -Features
>   -~~~~~~~~
>   -
>   -"enum-feat"
>   -   Also _one_ {and only}
>   -
>   -"enum-member-feat"
>   -   a member feature
>   +      * **enum-member-feat** -- a member feature
>
>    "two" is undocumented
>
>   -
>   -If
>   -~~
>   -
>   -"IFCOND"
>   -
>   -
>   diff -rupw o/03 n/03
>   --- o/03      2025-06-16 13:53:27.556514971 +0200
>   +++ n/03      2025-06-16 13:50:44.582595942 +0200
>   @@ -1,17 +1,7 @@
>   -"Base" (Object)
>   ----------------
>   -
>   -
>   -Members
>   -~~~~~~~
>   -
>   -"base1": "Enum"
>   -   description starts on a new line, minimally indented
>   -
>   -
>   -If
>   -~~
>   -
>   -"IFALL1 and IFALL2"
>   +Object Base
>   +    *Availability*: "IFALL1 and IFALL2"
>
>   +   Members:
>   +      * **base1** ("Enum") -- description starts on a new line,
>   +        minimally indented
>
>   diff -rupw o/04 n/04
>   --- o/04      2025-06-16 13:53:39.356291772 +0200
>   +++ n/04      2025-06-16 13:50:54.486408751 +0200
>   @@ -1,5 +1,4 @@
>   -"Variant1" (Object)
>   --------------------
>   +Object Variant1
>
>    A paragraph
>
>   @@ -7,21 +6,11 @@ Another paragraph
>
>    "var1" is undocumented
>
>   +   Members:
>   +      * **var1** ("string") -- Not documented
>
>   -Members
>   -~~~~~~~
>   -
>   -"var1": "string" (**If: **"IFSTR")
>
> Likewise.
>
>   -   Not documented
>   -
>   -
>   -Features
>   -~~~~~~~~
>   -
>   -"variant1-feat"
>   -   a feature
>   -
>   -"member-feat"
>   -   a member feature
>   +   Features:
>   +      * **variant1-feat** -- a feature
>
>   +      * **member-feat** -- a member feature
>
>   diff -rupw o/05 n/05
>   --- o/05      2025-06-16 13:53:43.429214731 +0200
>   +++ n/05      2025-06-16 13:51:05.247205330 +0200
>   @@ -1,4 +1,2 @@
>   -"Variant2" (Object)
>   --------------------
>   -
>   +Object Variant2
>
>   diff -rupw o/06 n/06
>   --- o/06      2025-06-16 13:53:48.461119551 +0200
>   +++ n/06      2025-06-16 13:51:10.990096739 +0200
>   @@ -1,19 +1,12 @@
>   -"Object" (Object)
>   ------------------
>   +Object Object
>
>   +   Members:
>   +      * The members of "Base".
>
>   -Members
>   -~~~~~~~
>   +      * When "base1" is "one": The members of "Variant1".
>
>   -The members of "Base"
>   -The members of "Variant1" when "base1" is ""one""
>   -The members of "Variant2" when "base1" is ""two"" (**If: **"IFONE or
>   -IFTWO")
>
> Likewise.
>
>   -
>   -Features
>   -~~~~~~~~
>   -
>   -"union-feat1"
>   -   a feature
>   +      * When "base1" is "two": The members of "Variant2".
>
>   +   Features:
>   +      * **union-feat1** -- a feature
>
>   diff -rupw o/07 n/07
>   --- o/07      2025-06-16 13:53:55.988977158 +0200
>   +++ n/07      2025-06-16 13:51:16.869985559 +0200
>   @@ -1,28 +1,13 @@
>   -"Alternate" (Alternate)
>   ------------------------
>   +Alternate Alternate
>   +    *Availability*: "not (IFONE or IFTWO)"
>
>   +   Alternatives:
>   +      * **i** ("int") -- description starts on the same line remainder
>   +        indented the same "b" is undocumented
>
>   -Members
>   -~~~~~~~
>   +      * **b** ("boolean") -- Not documented
>
>   -"i": "int"
>   -   description starts on the same line remainder indented the same "b"
>   -   is undocumented
>   -
>   -"b": "boolean"
>   -   Not documented
>   -
>   -
>   -Features
>   -~~~~~~~~
>   -
>   -"alt-feat"
>   -   a feature
>   -
>   -
>   -If
>   -~~
>   -
>   -"not (IFONE or IFTWO)"
>   +   Features:
>   +      * **alt-feat** -- a feature
>
>
>   diff -rupw o/08 n/08
>   --- o/08      2025-06-16 13:54:11.692680115 +0200
>   +++ n/08      2025-06-16 13:51:35.957624638 +0200
>   @@ -1,47 +1,29 @@
>    Another subsection
>    ==================
>
>   +Command cmd (Since: 2.10)
>
>   -"cmd" (Command)
>   ----------------
>   +   Arguments:
>   +      * **arg1** ("int") -- description starts on a new line, indented
>
>   +      * **arg2** ("string", *optional*) -- description starts on the
>   +        same line remainder indented differently
>
>   -Arguments
>   -~~~~~~~~~
>   +      * **arg3** ("boolean") -- Not documented
>
>   -"arg1": "int"
>   -   description starts on a new line, indented
>   +   Features:
>   +      * **cmd-feat1** -- a feature
>
>   -"arg2": "string" (optional)
>   -   description starts on the same line remainder indented differently
>   -
>   -"arg3": "boolean"
>   -   Not documented
>   -
>   -
>   -Features
>   -~~~~~~~~
>   -
>   -"cmd-feat1"
>   -   a feature
>   -
>   -"cmd-feat2"
>   -   another feature
>   +      * **cmd-feat2** -- another feature
>
>    Note:
>
>      "arg3" is undocumented
>
>   +   Return:
>   +      "Object" -- "Object"
>
>   -Returns
>   -~~~~~~~
>   -
>   -"Object"
>   -
>   -
>   -Errors
>   -~~~~~~
>   -
>   +   Errors:
>    * some
>
>    Notes:
>   @@ -68,10 +50,3 @@ Examples:
>    Note::
>       Ceci n'est pas une note
>
>   -
>   -Since
>   -~~~~~
>   -
>   -2.10
>   -
>   -
>   diff -rupw o/09 n/09
>   --- o/09      2025-06-16 14:11:32.819939859 +0200
>   +++ n/09      2025-06-16 13:51:43.469482599 +0200
>   @@ -1,22 +1,14 @@
>   -"cmd-boxed" (Command)
>   ----------------------
>   +Command cmd-boxed
>
>    If you're bored enough to read this, go see a video of boxed cats
>
>   +   Arguments:
>   +      * The members of "Object".
>
>   -Arguments
>   -~~~~~~~~~
>   +   Features:
>   +      * **cmd-feat1** -- a feature
>
>   -The members of "Object"
>   -
>   -Features
>   -~~~~~~~~
>   -
>   -"cmd-feat1"
>   -   a feature
>   -
>   -"cmd-feat2"
>   -   another feature
>   +      * **cmd-feat2** -- another feature
>
>    Example::
>
>   @@ -24,4 +16,3 @@ Example::
>
>       <- ... has no title ...
>
>   -
>   diff -rupw o/10 n/10
>   --- o/10      2025-06-16 14:11:35.771883514 +0200
>   +++ n/10      2025-06-16 13:51:46.653422395 +0200
>   @@ -1,14 +1,7 @@
>   -"EVT_BOXED" (Event)
>   --------------------
>   +Event EVT_BOXED
>
>   +   Members:
>   +      * The members of "Object".
>
>   -Arguments
>   -~~~~~~~~~
>   -
>   -The members of "Object"
>   -
>   -Features
>   -~~~~~~~~
>   -
>   -"feat3"
>   -   a feature
>   +   Features:
>   +      * **feat3** -- a feature
>
> The only unexpected change is the first hunk.


Some of these look a little silly, let me see what I can do ... The IFCOND
stuff is a known issue, and I believe is best tackled in conjunction with
your project to add conditional documentation entities.

Everything else, I'll review and see what can be improved upon if anything.

Reply via email to