Re: [PATCH] docs: make kernel-doc handle varargs properly

From: Jonathan Corbet
Date: Tue Sep 06 2016 - 09:36:27 EST


On Sat, 27 Aug 2016 11:43:18 +0300
Jani Nikula <jani.nikula@xxxxxxxxx> wrote:

> On Fri, 26 Aug 2016, Jonathan Corbet <corbet@xxxxxxx> wrote:
> > As far as I can tell, the handling of "..." arguments has never worked
> > right, so any documentation provided was ignored in favor of "variable
> > arguments." This makes kernel-doc handle "@...:" as documented. It does
> > *not* fix spots in kerneldoc comments that don't follow that convention,
> > but they are no more broken than before.
> >
> > Signed-off-by: Jonathan Corbet <corbet@xxxxxxx>
> > ---
> > scripts/kernel-doc | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/scripts/kernel-doc b/scripts/kernel-doc
> > index c681e8f0ecc2..e6c52ab938fd 100755
> > --- a/scripts/kernel-doc
> > +++ b/scripts/kernel-doc
> > @@ -414,7 +414,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*:(.*)';
>
> So this will now accept "@foo.bar.baz:" too, right? Should it be
> something like this instead?
>
> '\s*(\@\w+|\@\.\.\.|description|context|returns?|notes?|examples?)\s*:(.*)';

That works too.

I had a sort of vision of catching the "args..." notation that a lot of
kerneldoc comments use and doing the right thing, but ran out of patience
before getting it to work. There are times when I find Markus's python
kernel-doc replacement tempting... Maybe I'll beat my head against that
wall one more time when I get a chance and, failing that, just use the
above.

Thanks,

jon