linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@linux.intel.com>
To: Matthew Wilcox <willy@infradead.org>, Jonathan Corbet <corbet@lwn.net>
Cc: peter@bikeshed.quignogs.org.uk, linux-kernel@vger.kernel.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	linux-doc@vger.kernel.org
Subject: Re: [PATCH v3 0/1] Compactly make code examples into literal blocks
Date: Tue, 31 Mar 2020 14:22:41 +0300	[thread overview]
Message-ID: <87v9mkg45a.fsf@intel.com> (raw)
In-Reply-To: <20200327173500.GR22483@bombadil.infradead.org>

On Fri, 27 Mar 2020, Matthew Wilcox <willy@infradead.org> wrote:
> On Fri, Mar 27, 2020 at 11:11:06AM -0600, Jonathan Corbet wrote:
>> On Fri, 27 Mar 2020 09:50:22 -0700
>> Matthew Wilcox <willy@infradead.org> wrote:
>> 
>> > Let me just check I understand Jani's proposal here.  You want to change
>> > 
>> > * Return: Number of pages, or negative errno on failure
>> > 
>> > to
>> > 
>> > * Return
>> > * ~~~~~~
>> > * Number of pages, or negative errno on failure
>> > 
>> > If so, I oppose such an increase in verbosity and I think most others
>> > would too.  If not, please let me know what you're actually proposing ;-)
>> 
>> I told you there would be resistance :)
>
> Happy to help out!
>
>> I think a reasonable case can be made for using the same documentation
>> format throughout our docs, rather than inventing something special for
>> kerneldoc comments.  So I personally don't think the above is terrible,
>> but as I already noted, I anticipate resistance.
>> 
>> An alternative would be to make a little sphinx extension; then it would
>> read more like:
>> 
>> 	.. returns:: Number of pages, except when the moon is full
>> 
>> ...which would still probably not be entirely popular.

I don't really think it would need to be a sphinx extension. If I were
to do this from scratch, I'd just leave it be any convention that's
compatible with rst. Perhaps field lists [1], for both parameters and
return values. With that you could do things like:

 * :Returns: 0 on success.
 * :Returns: -ENOCOFFEE when out of coffee.
 * :Returns: Other negative error codes for other errors.

or:

 * :Returns: 0 on success, -ENOCOFFEE when out of coffee, and other negative
 *           error codes for other errors.

according to your tastes, and both render nicely. You could actually
start using those *now* without changes to kernel-doc or anything. Try
it!

(Side note, I think it would be nice to preprocess the current @param:
stuff into field lists instead of the definition lists that we use now.)

> I certainly see the value in consistency throughout our documentation.
> But I don't think it's a given that the documentation of the return
> value is necessarily its own section.  I see kernel-doc as being more
> about semantic markup and the rst files as being a presentation markup.
>
> So I'm fine with Return:: introducing a list or Example:: introducing
> a code section; these are special purpose keywords.  I'm not a fan of
> using raw rst in kernel-doc.  Of course if we can make the kernel-doc
> and rst languages the same for the same concepts, that's great.

IMO, if you want to make a list, you use rst lists. If you want to add a
preformatted text block, you use rst preformatted text block. I don't
see any reason why those should be tied to certain headings such as
"return" or "example". Return does not have to be a list, and example
does not have to be a preformatted block.

I am also not a fan of *overusing* rst in kernel-doc. But we have it
there so that you can use it when you need it, and not have to hack at
the godawful kernel-doc the perl script every time. So that you can just
point at the widely available documentation on rst for doing everything,
instead of telling people to go figure it out from the perl source.

BR,
Jani.


[1] https://docutils.sourceforge.io/docs/user/rst/quickref.html#field-lists

-- 
Jani Nikula, Intel Open Source Graphics Center

  reply	other threads:[~2020-03-31 11:22 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-11 19:22 [PATCH 0/1] Format kerneldoc code snippets as literal block peter
2020-03-11 19:22 ` [PATCH 1/1] Added double colons and blank lines within kerneldoc to format code snippets as ReST literal blocks peter
2020-03-11 19:30   ` Jonathan Corbet
2020-03-26 19:16     ` [PATCH v2 0/1] Compactly make code examples into " peter
2020-03-26 19:16       ` [PATCH v2 1/1] A compact idiom to add code examples in kerneldoc comments peter
2020-03-26 19:29         ` Matthew Wilcox
2020-03-26 19:36           ` Peter Lister
2020-03-26 19:51           ` [PATCH v3 0/1] Compactly make code examples into literal blocks peter
2020-03-26 19:51             ` [PATCH v3 1/1] A compact idiom to add code examples in kerneldoc comments peter
2020-03-26 19:54               ` Matthew Wilcox
2020-03-27  6:32               ` Greg Kroah-Hartman
2020-03-27 11:28             ` [PATCH v3 0/1] Compactly make code examples into literal blocks Jani Nikula
2020-03-27 16:41               ` Jonathan Corbet
2020-03-27 16:50                 ` Matthew Wilcox
2020-03-27 17:11                   ` Jonathan Corbet
2020-03-27 17:35                     ` Matthew Wilcox
2020-03-31 11:22                       ` Jani Nikula [this message]
2020-03-31 10:50                   ` Jani Nikula
2020-03-30 22:29                 ` Peter Lister
2020-03-30 22:32                   ` Jonathan Corbet
2020-03-31 11:54                   ` Jani Nikula

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87v9mkg45a.fsf@intel.com \
    --to=jani.nikula@linux.intel.com \
    --cc=corbet@lwn.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peter@bikeshed.quignogs.org.uk \
    --cc=rafael@kernel.org \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).