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

From: Jani Nikula
Date: Wed Sep 07 2016 - 09:09:06 EST


On Wed, 07 Sep 2016, Markus Heiser <markus.heiser@xxxxxxxxxxx> wrote:
> Am 06.09.2016 um 15:36 schrieb Jonathan Corbet <corbet@xxxxxxx>:
>
>> 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...
>
> Feel free to contact me if you want to see a RFC.
>
> OT but BTW: Does sparse parse macros, or did sparse precompile? I mean,
> are macros objects of sparse's AST or does the AST only contain
> C objects?

Sparse contains a C preprocessor.

> Sorry if my question is dump, I haven't had time to take a serious
> look on sparse.

See https://lwn.net/Articles/689907/.


BR,
Jani.


--
Jani Nikula, Intel Open Source Technology Center