From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
To: Jonathan Corbet <corbet@lwn.net>
Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
Akira Yokosawa <akiyks@gmail.com>
Subject: Re: [PATCH 5/9] docs: kdoc: coalesce the new-section handling
Date: Sun, 22 Jun 2025 13:50:53 +0200 [thread overview]
Message-ID: <20250622135053.349c3184@foz.lan> (raw)
In-Reply-To: <20250621203512.223189-6-corbet@lwn.net>
Em Sat, 21 Jun 2025 14:35:08 -0600
Jonathan Corbet <corbet@lwn.net> escreveu:
> Merge the duplicated code back into a single implementation. Code movement
> only, no logic changes.
>
> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
LGTM.
Reviewed-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> ---
> scripts/lib/kdoc/kdoc_parser.py | 49 +++++++++------------------------
> 1 file changed, 13 insertions(+), 36 deletions(-)
>
> diff --git a/scripts/lib/kdoc/kdoc_parser.py b/scripts/lib/kdoc/kdoc_parser.py
> index 185ffe4e1469..a336d543e72b 100644
> --- a/scripts/lib/kdoc/kdoc_parser.py
> +++ b/scripts/lib/kdoc/kdoc_parser.py
> @@ -1310,10 +1310,10 @@ class KernelDoc:
> else:
> self.emit_msg(ln, f"Cannot find identifier on line:\n{line}")
>
> - def process_decl(self, ln, line):
> - """
> - STATE_DECLARATION: We've seen the beginning of a declaration
> - """
> + #
> + # Helper function to determine if a new section is being started.
> + #
> + def is_new_section(self, ln, line):
> if doc_sect.search(line):
> self.entry.in_doc_sect = True
> newsection = doc_sect.group(1)
> @@ -1346,6 +1346,14 @@ class KernelDoc:
> self.entry.contents += "\n"
>
> self.state = state.BODY
> + return True
> + return False
> +
> + def process_decl(self, ln, line):
> + """
> + STATE_DECLARATION: We've seen the beginning of a declaration
> + """
> + if self.is_new_section(ln, line):
> return
>
> if doc_end.search(line):
> @@ -1395,38 +1403,7 @@ class KernelDoc:
> """
> STATE_BODY: the bulk of a kerneldoc comment.
> """
> - if doc_sect.search(line):
> - self.entry.in_doc_sect = True
> - newsection = doc_sect.group(1)
> -
> - if newsection.lower() in ["description", "context"]:
> - newsection = newsection.title()
> -
> - # Special case: @return is a section, not a param description
> - if newsection.lower() in ["@return", "@returns",
> - "return", "returns"]:
> - newsection = "Return"
> -
> - # Perl kernel-doc has a check here for contents before sections.
> - # the logic there is always false, as in_doc_sect variable is
> - # always true. So, just don't implement Wcontents_before_sections
> -
> - # .title()
> - newcontents = doc_sect.group(2)
> - if not newcontents:
> - newcontents = ""
> -
> - if self.entry.contents.strip("\n"):
> - self.dump_section()
> -
> - self.entry.begin_section(ln, newsection)
> - self.entry.leading_space = None
> -
> - self.entry.contents = newcontents.lstrip()
> - if self.entry.contents:
> - self.entry.contents += "\n"
> -
> - self.state = state.BODY
> + if self.is_new_section(ln, line):
> return
>
> if doc_end.search(line):
Thanks,
Mauro
next prev parent reply other threads:[~2025-06-22 11:50 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-21 20:35 [PATCH 0/9] docs: kdoc: rework the BODY* processing states Jonathan Corbet
2025-06-21 20:35 ` [PATCH 1/9] docs: kdoc: Make body_with_blank_line parsing more flexible Jonathan Corbet
2025-06-22 11:46 ` Mauro Carvalho Chehab
2025-06-21 20:35 ` [PATCH 2/9] docs: kdoc: consolidate the "begin section" logic Jonathan Corbet
2025-06-22 11:47 ` Mauro Carvalho Chehab
2025-06-21 20:35 ` [PATCH 3/9] docs: kdoc: separate out the handling of the declaration phase Jonathan Corbet
2025-06-22 11:48 ` Mauro Carvalho Chehab
2025-06-21 20:35 ` [PATCH 4/9] docs: kdoc: split out the special-section state Jonathan Corbet
2025-06-22 11:50 ` Mauro Carvalho Chehab
2025-06-21 20:35 ` [PATCH 5/9] docs: kdoc: coalesce the new-section handling Jonathan Corbet
2025-06-22 11:50 ` Mauro Carvalho Chehab [this message]
2025-06-21 20:35 ` [PATCH 6/9] docs: kdoc: rework the handling of SPECIAL_SECTION Jonathan Corbet
2025-06-22 11:51 ` Mauro Carvalho Chehab
2025-06-21 20:35 ` [PATCH 7/9] docs: kdoc: coalesce the end-of-comment processing Jonathan Corbet
2025-06-22 11:52 ` Mauro Carvalho Chehab
2025-06-21 20:35 ` [PATCH 8/9] docs: kdoc: Add some comments to process_decl() Jonathan Corbet
2025-06-22 11:53 ` Mauro Carvalho Chehab
2025-06-21 20:35 ` [PATCH 9/9] docs: kdoc: finish disentangling the BODY and SPECIAL_SECTION states Jonathan Corbet
2025-06-22 11:54 ` Mauro Carvalho Chehab
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=20250622135053.349c3184@foz.lan \
--to=mchehab+huawei@kernel.org \
--cc=akiyks@gmail.com \
--cc=corbet@lwn.net \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.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.