[Linux-kernel-mentees] [PATCH RFC] checkpatch: fix TYPO_SPELLING check for words with apostrophe

Lukas Bulwahn lukas.bulwahn at gmail.com
Thu Nov 26 09:59:54 UTC 2020


On Thu, Nov 26, 2020 at 10:47 AM Dwaipayan Ray <dwaipayanray1 at gmail.com> wrote:
>
> checkpatch reports a false warning for some words containing an
> apostrophe.
>
> A false positive is "doesn't". Occurrence of the word causes
> checkpatch to emit the following warning:
>
> "WARNING: 'doesn'' may be misspelled - perhaps 'doesn't'?"
>
> Check if any word character is present after the word boundary
> in such cases. If present, it means a subpart of the word has
> been matched and a warning should not be emitted.
>
> Reported-by: Peilin Ye <yepeilin.cs at gmail.com>
> Signed-off-by: Dwaipayan Ray <dwaipayanray1 at gmail.com>

Looks good to me; I am wondering if it is useful to point out to
rewrite this to "does not" because commit messages are "formal
content", and not so much spoken language.

Lukas

> ---
>  scripts/checkpatch.pl | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index d1ecb852f384..47b964984ce0 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -3106,7 +3106,7 @@ sub process {
>  # Check for various typo / spelling mistakes
>                 if (defined($misspellings) &&
>                     ($in_commit_log || $line =~ /^(?:\+|Subject:)/i)) {
> -                       while ($rawline =~ /(?:^|[^a-z@])($misspellings)(?:\b|$|[^a-z@])/gi) {
> +                       while ($rawline =~ /(?:^|[^a-z@])($misspellings)(?:\b(?![a-z@]+)|$|[^a-z@])/gi) {
>                                 my $typo = $1;
>                                 my $typo_fix = $spelling_fix{lc($typo)};
>                                 $typo_fix = ucfirst($typo_fix) if ($typo =~ /^[A-Z]/);
> --
> 2.27.0
>


More information about the Linux-kernel-mentees mailing list