From: Mauro Carvalho Chehab <mchehab@kernel.org>
To: Matthew Wilcox <willy@infradead.org>
Cc: Markus Heiser <markus.heiser@darmarit.de>,
Randy Dunlap <rdunlap@infradead.org>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
Jonathan Corbet <corbet@lwn.net>
Subject: Re: excess bolding in html
Date: Fri, 30 Oct 2020 15:00:19 +0100 [thread overview]
Message-ID: <20201030150019.1cc6db7d@coco.lan> (raw)
In-Reply-To: <20201030125313.GH27442@casper.infradead.org>
Em Fri, 30 Oct 2020 12:53:13 +0000
Matthew Wilcox <willy@infradead.org> escreveu:
> On Fri, Oct 30, 2020 at 01:28:59PM +0100, Markus Heiser wrote:
> > Am 30.10.20 um 12:31 schrieb Matthew Wilcox:
> > > On Fri, Oct 30, 2020 at 08:37:48AM +0100, Mauro Carvalho Chehab wrote:
> > > > Just changing the kernel-doc markup at kernel/futex.c:
> > > >
> > > > /**
> > > > * futex_setup_timer - set up the sleeping hrtimer.
> > > > * @time: ptr to the given timeout value
> > > > * @timeout: the hrtimer_sleeper structure to be set up
> > > > * @flags: futex flags
> > > > * @range_ns: optional range in ns
> > > > *
> > > > * Return: Initialized hrtimer_sleeper structure or NULL if no timeout
> > > > * value given
> > > > */
> > > >
> > > > To:
> > > >
> > > > ...
> > > > * Return:
> > > > *
> > > > * Initialized hrtimer_sleeper structure or NULL if no timeout
> > > > * value given
> > > > */
> > > >
> > > > Should fix it.
> > >
> > > Or just remove the indent.
> > >
> > > * Return: Initialized hrtimer_sleeper structure or NULL if no timeout
> > > * value given.
> >
> > To add my 2 cent:
> >
> > The return value should be described in a dedicated section
> > named "Return:", like shown im Mauro's example (compare [1]).
> >
> > For on-liners I think it is OK to use the short form (compare [2]).
> >
> > [1] https://www.kernel.org/doc/html/latest/doc-guide/kernel-doc.html#return-values
> > [2] https://www.kernel.org/doc/html/latest/doc-guide/kernel-doc.html#function-documentation
Yeah, I would use myself something like:
Return: foo
only for single-line returns, using:
Return:
foo
bar
for multi-line ones.
-
Anyway, I tried the enclosed patch. With that, it should now recognize
kernel-doc markups with:
* Return: Initialized hrtimer_sleeper structure or NULL if no timeout
* value given
And:
* Returns: 0 on success, -ENOSPC if no suitable hole is found, -EINTR if
* asked to wait for eviction and interrupted.
*/
(this example came from drivers/gpu/drm/i915/i915_gem_gtt.c)
I only did a fast check here, in order to verify if it won't be
producing additional warnings. I didn't check the html output.
Just the resulting ReST from kernel-doc and the "make htmldocs" warnings.
PS.: This handles only "Note(s)" and "Return(s)" sections.
Description and @var: are already handled using a different
logic elsewhere.
This could likely be generalized, but more work (and tests)
are required.
Thanks,
Mauro
[PATCH] scripts: kernel-doc: better handle spaces after section markups
Better handle things like:
* Return: foo
* description
Suggested-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
diff --git a/scripts/kernel-doc b/scripts/kernel-doc
index f699cf05d409..a91a2420cccf 100755
--- a/scripts/kernel-doc
+++ b/scripts/kernel-doc
@@ -389,7 +389,7 @@ my $doc_com_body = '\s*\* ?';
my $doc_decl = $doc_com . '(\w+)';
# @params and a strictly limited set of supported section names
my $doc_sect = $doc_com .
- '\s*(\@[.\w]+|\@\.\.\.|description|context|returns?|notes?|examples?)\s*:(.*)';
+ '\s*(\@[.\w]+|\@\.\.\.|description|context|returns?|notes?|examples?)(\s*:)(.*)';
my $doc_content = $doc_com_body . '(.*)';
my $doc_block = $doc_com . 'DOC:\s*(.*)?';
my $doc_inline_start = '^\s*/\*\*\s*$';
@@ -865,8 +865,21 @@ sub output_highlight_rst {
my $in_literal = 0;
my $litprefix;
my $block = "";
+ my $spaces = "";
+ my $first = 1;
foreach $line (split "\n",$input) {
+ if ($first) {
+ $spaces = $1 if ($line =~ (m/^(\s+)/));
+ $first = 0;
+ }
+
+ if ($spaces ne "") {
+ if (!($line =~ s/^$spaces//)) {
+ $spaces = "";
+ }
+ }
+
#
# If we're in a literal block, see if we should drop out
# of it. Otherwise pass the line straight through unmunged.
@@ -2135,8 +2148,9 @@ sub process_body($$) {
}
if (/$doc_sect/i) { # case insensitive for supported section names
+ my $spaces = "$1$2";
$newsection = $1;
- $newcontents = $2;
+ $newcontents = $3;
# map the supported section names to the canonical names
if ($newsection =~ m/^description$/i) {
@@ -2161,11 +2175,20 @@ sub process_body($$) {
$in_doc_sect = 1;
$state = STATE_BODY;
- $contents = $newcontents;
$new_start_line = $.;
- while (substr($contents, 0, 1) eq " ") {
- $contents = substr($contents, 1);
+
+ if ($newsection =~ m/(return|note)/i) {
+ $spaces =~ s/\S/ /g;
+ $newcontents = $spaces . $newcontents;
+ $newcontents =~ s/^\s+$//;
+ $contents = $newcontents;
+ } else {
+ $contents = $newcontents;
+ while (substr($newcontents, 0, 1) eq " ") {
+ $newcontents = substr($newcontents, 1);
+ }
}
+
if ($contents ne "") {
$contents .= "\n";
}
next prev parent reply other threads:[~2020-10-30 14:00 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-30 3:17 excess bolding in html Randy Dunlap
2020-10-30 7:37 ` Mauro Carvalho Chehab
2020-10-30 11:31 ` Matthew Wilcox
2020-10-30 12:28 ` Markus Heiser
2020-10-30 12:53 ` Matthew Wilcox
2020-10-30 14:00 ` Mauro Carvalho Chehab [this message]
2020-10-30 14:19 ` [PATCH RFC] scripts: kernel-doc: better handle spaces after section markups Mauro Carvalho Chehab
2020-10-30 17:30 ` excess bolding in html Randy Dunlap
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=20201030150019.1cc6db7d@coco.lan \
--to=mchehab@kernel.org \
--cc=corbet@lwn.net \
--cc=linux-doc@vger.kernel.org \
--cc=markus.heiser@darmarit.de \
--cc=rdunlap@infradead.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.