All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] checkpatch: fix TYPO_SPELLING check for words with apostrophe
@ 2020-12-01  7:23 ` Dwaipayan Ray
  0 siblings, 0 replies; 10+ messages in thread
From: Dwaipayan Ray @ 2020-12-01  7:23 UTC (permalink / raw)
  To: joe
  Cc: linux-kernel-mentees, dwaipayanray1, linux-kernel, lukas.bulwahn,
	Peilin Ye

checkpatch reports a false TYPO_SPELLING warning for some words
containing an apostrophe when run with --codespell option.

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'?"

Modify the regex pattern to be more in line with the codespell
default word matching regex. This fixes the word capture and
avoids the false warning.

Suggested-by: Joe Perches <joe@perches.com>
Reported-by: Peilin Ye <yepeilin.cs@gmail.com>
Signed-off-by: Dwaipayan Ray <dwaipayanray1@gmail.com>
---
Changes in v2:
- Use the default codespell word regex.
- Modify commit message to specify --codespell usage

 scripts/checkpatch.pl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 3c86ea737e9c..bd6304f93e0a 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 =~ /(?:^|[^\w\-'`])($misspellings)(?:[^\w\-'`]|$)/gi) {
 				my $typo = $1;
 				my $typo_fix = $spelling_fix{lc($typo)};
 				$typo_fix = ucfirst($typo_fix) if ($typo =~ /^[A-Z]/);
-- 
2.27.0


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [Linux-kernel-mentees] [PATCH v2] checkpatch: fix TYPO_SPELLING check for words with apostrophe
@ 2020-12-01  7:23 ` Dwaipayan Ray
  0 siblings, 0 replies; 10+ messages in thread
From: Dwaipayan Ray @ 2020-12-01  7:23 UTC (permalink / raw)
  To: joe; +Cc: Peilin Ye, dwaipayanray1, linux-kernel-mentees, linux-kernel

checkpatch reports a false TYPO_SPELLING warning for some words
containing an apostrophe when run with --codespell option.

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'?"

Modify the regex pattern to be more in line with the codespell
default word matching regex. This fixes the word capture and
avoids the false warning.

Suggested-by: Joe Perches <joe@perches.com>
Reported-by: Peilin Ye <yepeilin.cs@gmail.com>
Signed-off-by: Dwaipayan Ray <dwaipayanray1@gmail.com>
---
Changes in v2:
- Use the default codespell word regex.
- Modify commit message to specify --codespell usage

 scripts/checkpatch.pl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 3c86ea737e9c..bd6304f93e0a 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 =~ /(?:^|[^\w\-'`])($misspellings)(?:[^\w\-'`]|$)/gi) {
 				my $typo = $1;
 				my $typo_fix = $spelling_fix{lc($typo)};
 				$typo_fix = ucfirst($typo_fix) if ($typo =~ /^[A-Z]/);
-- 
2.27.0

_______________________________________________
Linux-kernel-mentees mailing list
Linux-kernel-mentees@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees

^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] checkpatch: fix TYPO_SPELLING check for words with apostrophe
  2020-12-01  7:23 ` [Linux-kernel-mentees] " Dwaipayan Ray
@ 2020-12-01 18:01   ` Joe Perches
  -1 siblings, 0 replies; 10+ messages in thread
From: Joe Perches @ 2020-12-01 18:01 UTC (permalink / raw)
  To: Dwaipayan Ray
  Cc: linux-kernel-mentees, linux-kernel, lukas.bulwahn, Peilin Ye

On Tue, 2020-12-01 at 12:53 +0530, Dwaipayan Ray wrote:
> checkpatch reports a false TYPO_SPELLING warning for some words
> containing an apostrophe when run with --codespell option.
> 
> 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'?"
> 
> Modify the regex pattern to be more in line with the codespell
> default word matching regex. This fixes the word capture and
> avoids the false warning.
> 
> Suggested-by: Joe Perches <joe@perches.com>
> Reported-by: Peilin Ye <yepeilin.cs@gmail.com>
> Signed-off-by: Dwaipayan Ray <dwaipayanray1@gmail.com>
> ---
> Changes in v2:
> - Use the default codespell word regex.
> - Modify commit message to specify --codespell usage
> 
>  scripts/checkpatch.pl | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git 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 =~ /(?:^|[^\w\-'`])($misspellings)(?:[^\w\-'`]|$)/gi) {

This regex seems to work well, thanks.

>  				my $typo = $1;

A trivial improvement might be to highlight the location of the
misspelled word with a caret using

				my $blank = copy_spacing($rawline);
				my $ptr = substr($blank, 0, $-[0] + 1) . "^";
				my $hereptr = "$hereline$ptr\n";

>  				my $typo_fix = $spelling_fix{lc($typo)};
>  				$typo_fix = ucfirst($typo_fix) if ($typo =~ /^[A-Z]/);

and using $hereptr and not $hereline when emitting the message.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Linux-kernel-mentees] [PATCH v2] checkpatch: fix TYPO_SPELLING check for words with apostrophe
@ 2020-12-01 18:01   ` Joe Perches
  0 siblings, 0 replies; 10+ messages in thread
From: Joe Perches @ 2020-12-01 18:01 UTC (permalink / raw)
  To: Dwaipayan Ray; +Cc: linux-kernel-mentees, linux-kernel, Peilin Ye

On Tue, 2020-12-01 at 12:53 +0530, Dwaipayan Ray wrote:
> checkpatch reports a false TYPO_SPELLING warning for some words
> containing an apostrophe when run with --codespell option.
> 
> 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'?"
> 
> Modify the regex pattern to be more in line with the codespell
> default word matching regex. This fixes the word capture and
> avoids the false warning.
> 
> Suggested-by: Joe Perches <joe@perches.com>
> Reported-by: Peilin Ye <yepeilin.cs@gmail.com>
> Signed-off-by: Dwaipayan Ray <dwaipayanray1@gmail.com>
> ---
> Changes in v2:
> - Use the default codespell word regex.
> - Modify commit message to specify --codespell usage
> 
>  scripts/checkpatch.pl | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git 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 =~ /(?:^|[^\w\-'`])($misspellings)(?:[^\w\-'`]|$)/gi) {

This regex seems to work well, thanks.

>  				my $typo = $1;

A trivial improvement might be to highlight the location of the
misspelled word with a caret using

				my $blank = copy_spacing($rawline);
				my $ptr = substr($blank, 0, $-[0] + 1) . "^";
				my $hereptr = "$hereline$ptr\n";

>  				my $typo_fix = $spelling_fix{lc($typo)};
>  				$typo_fix = ucfirst($typo_fix) if ($typo =~ /^[A-Z]/);

and using $hereptr and not $hereline when emitting the message.


_______________________________________________
Linux-kernel-mentees mailing list
Linux-kernel-mentees@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] checkpatch: fix TYPO_SPELLING check for words with apostrophe
  2020-12-01 18:01   ` [Linux-kernel-mentees] " Joe Perches
@ 2020-12-01 18:09     ` Dwaipayan Ray
  -1 siblings, 0 replies; 10+ messages in thread
From: Dwaipayan Ray @ 2020-12-01 18:09 UTC (permalink / raw)
  To: Joe Perches; +Cc: linux-kernel-mentees, linux-kernel, Lukas Bulwahn, Peilin Ye

On Tue, Dec 1, 2020 at 11:32 PM Joe Perches <joe@perches.com> wrote:
>
> On Tue, 2020-12-01 at 12:53 +0530, Dwaipayan Ray wrote:
> > checkpatch reports a false TYPO_SPELLING warning for some words
> > containing an apostrophe when run with --codespell option.
> >
> > 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'?"
> >
> > Modify the regex pattern to be more in line with the codespell
> > default word matching regex. This fixes the word capture and
> > avoids the false warning.
> >
> > Suggested-by: Joe Perches <joe@perches.com>
> > Reported-by: Peilin Ye <yepeilin.cs@gmail.com>
> > Signed-off-by: Dwaipayan Ray <dwaipayanray1@gmail.com>
> > ---
> > Changes in v2:
> > - Use the default codespell word regex.
> > - Modify commit message to specify --codespell usage
> >
> >  scripts/checkpatch.pl | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git 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 =~ /(?:^|[^\w\-'`])($misspellings)(?:[^\w\-'`]|$)/gi) {
>
> This regex seems to work well, thanks.
>
> >                               my $typo = $1;
>
> A trivial improvement might be to highlight the location of the
> misspelled word with a caret using
>
>                                 my $blank = copy_spacing($rawline);
>                                 my $ptr = substr($blank, 0, $-[0] + 1) . "^";
>                                 my $hereptr = "$hereline$ptr\n";
>
> >                               my $typo_fix = $spelling_fix{lc($typo)};
> >                               $typo_fix = ucfirst($typo_fix) if ($typo =~ /^[A-Z]/);
>
> and using $hereptr and not $hereline when emitting the message.
>
>
Sure I will do that.
Is the color highlighting also supported in most systems? Maybe a red colored
word would be nice to notice as well.

Thanks,
Dwaipayan.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Linux-kernel-mentees] [PATCH v2] checkpatch: fix TYPO_SPELLING check for words with apostrophe
@ 2020-12-01 18:09     ` Dwaipayan Ray
  0 siblings, 0 replies; 10+ messages in thread
From: Dwaipayan Ray @ 2020-12-01 18:09 UTC (permalink / raw)
  To: Joe Perches; +Cc: linux-kernel-mentees, linux-kernel, Peilin Ye

On Tue, Dec 1, 2020 at 11:32 PM Joe Perches <joe@perches.com> wrote:
>
> On Tue, 2020-12-01 at 12:53 +0530, Dwaipayan Ray wrote:
> > checkpatch reports a false TYPO_SPELLING warning for some words
> > containing an apostrophe when run with --codespell option.
> >
> > 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'?"
> >
> > Modify the regex pattern to be more in line with the codespell
> > default word matching regex. This fixes the word capture and
> > avoids the false warning.
> >
> > Suggested-by: Joe Perches <joe@perches.com>
> > Reported-by: Peilin Ye <yepeilin.cs@gmail.com>
> > Signed-off-by: Dwaipayan Ray <dwaipayanray1@gmail.com>
> > ---
> > Changes in v2:
> > - Use the default codespell word regex.
> > - Modify commit message to specify --codespell usage
> >
> >  scripts/checkpatch.pl | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git 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 =~ /(?:^|[^\w\-'`])($misspellings)(?:[^\w\-'`]|$)/gi) {
>
> This regex seems to work well, thanks.
>
> >                               my $typo = $1;
>
> A trivial improvement might be to highlight the location of the
> misspelled word with a caret using
>
>                                 my $blank = copy_spacing($rawline);
>                                 my $ptr = substr($blank, 0, $-[0] + 1) . "^";
>                                 my $hereptr = "$hereline$ptr\n";
>
> >                               my $typo_fix = $spelling_fix{lc($typo)};
> >                               $typo_fix = ucfirst($typo_fix) if ($typo =~ /^[A-Z]/);
>
> and using $hereptr and not $hereline when emitting the message.
>
>
Sure I will do that.
Is the color highlighting also supported in most systems? Maybe a red colored
word would be nice to notice as well.

Thanks,
Dwaipayan.
_______________________________________________
Linux-kernel-mentees mailing list
Linux-kernel-mentees@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] checkpatch: fix TYPO_SPELLING check for words with apostrophe
  2020-12-01 18:09     ` [Linux-kernel-mentees] " Dwaipayan Ray
@ 2020-12-01 18:29       ` Joe Perches
  -1 siblings, 0 replies; 10+ messages in thread
From: Joe Perches @ 2020-12-01 18:29 UTC (permalink / raw)
  To: Dwaipayan Ray
  Cc: linux-kernel-mentees, linux-kernel, Lukas Bulwahn, Peilin Ye

On Tue, 2020-12-01 at 23:39 +0530, Dwaipayan Ray wrote:
> On Tue, Dec 1, 2020 at 11:32 PM Joe Perches <joe@perches.com> wrote:
> > On Tue, 2020-12-01 at 12:53 +0530, Dwaipayan Ray wrote:
> > > checkpatch reports a false TYPO_SPELLING warning for some words
> > > containing an apostrophe when run with --codespell option.
> > > 
> > > 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'?"
> > > 
> > > Modify the regex pattern to be more in line with the codespell
> > > default word matching regex. This fixes the word capture and
> > > avoids the false warning.
> > > 
> > > Suggested-by: Joe Perches <joe@perches.com>
> > > Reported-by: Peilin Ye <yepeilin.cs@gmail.com>
> > > Signed-off-by: Dwaipayan Ray <dwaipayanray1@gmail.com>
> > > ---
> > > Changes in v2:
> > > - Use the default codespell word regex.
> > > - Modify commit message to specify --codespell usage
> > > 
> > >  scripts/checkpatch.pl | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git 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 =~ /(?:^|[^\w\-'`])($misspellings)(?:[^\w\-'`]|$)/gi) {
> > 
> > This regex seems to work well, thanks.
> > 
> > >                               my $typo = $1;
> > 
> > A trivial improvement might be to highlight the location of the
> > misspelled word with a caret using
> > 
> >                                 my $blank = copy_spacing($rawline);
> >                                 my $ptr = substr($blank, 0, $-[0] + 1) . "^";
> >                                 my $hereptr = "$hereline$ptr\n";
> > 
> > >                               my $typo_fix = $spelling_fix{lc($typo)};
> > >                               $typo_fix = ucfirst($typo_fix) if ($typo =~ /^[A-Z]/);
> > 
> > and using $hereptr and not $hereline when emitting the message.
> > 
> Sure I will do that.
> Is the color highlighting also supported in most systems?

I believe so, yes.

Color is only used when the output is to stdout and not redirected
and not otherwise specified on the checkpatch command line.

> Maybe a red colored word would be nice to notice as well.

Maybe, but that might make the code around the message output of
$hereptr a bit obscure.  Presumably the code would not use $hereline
but something else new and specific for this message.

The output is done via the report() function so adding optional color
for only a portion of the new $hereptr string might be a lot of code.

If you try it, maybe make the misspelled word color match the message
level and not just be red.  Also the caret line wouldn't have much 
value with that added color highlighting.

Try it and see what you prefer.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Linux-kernel-mentees] [PATCH v2] checkpatch: fix TYPO_SPELLING check for words with apostrophe
@ 2020-12-01 18:29       ` Joe Perches
  0 siblings, 0 replies; 10+ messages in thread
From: Joe Perches @ 2020-12-01 18:29 UTC (permalink / raw)
  To: Dwaipayan Ray; +Cc: linux-kernel-mentees, linux-kernel, Peilin Ye

On Tue, 2020-12-01 at 23:39 +0530, Dwaipayan Ray wrote:
> On Tue, Dec 1, 2020 at 11:32 PM Joe Perches <joe@perches.com> wrote:
> > On Tue, 2020-12-01 at 12:53 +0530, Dwaipayan Ray wrote:
> > > checkpatch reports a false TYPO_SPELLING warning for some words
> > > containing an apostrophe when run with --codespell option.
> > > 
> > > 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'?"
> > > 
> > > Modify the regex pattern to be more in line with the codespell
> > > default word matching regex. This fixes the word capture and
> > > avoids the false warning.
> > > 
> > > Suggested-by: Joe Perches <joe@perches.com>
> > > Reported-by: Peilin Ye <yepeilin.cs@gmail.com>
> > > Signed-off-by: Dwaipayan Ray <dwaipayanray1@gmail.com>
> > > ---
> > > Changes in v2:
> > > - Use the default codespell word regex.
> > > - Modify commit message to specify --codespell usage
> > > 
> > >  scripts/checkpatch.pl | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git 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 =~ /(?:^|[^\w\-'`])($misspellings)(?:[^\w\-'`]|$)/gi) {
> > 
> > This regex seems to work well, thanks.
> > 
> > >                               my $typo = $1;
> > 
> > A trivial improvement might be to highlight the location of the
> > misspelled word with a caret using
> > 
> >                                 my $blank = copy_spacing($rawline);
> >                                 my $ptr = substr($blank, 0, $-[0] + 1) . "^";
> >                                 my $hereptr = "$hereline$ptr\n";
> > 
> > >                               my $typo_fix = $spelling_fix{lc($typo)};
> > >                               $typo_fix = ucfirst($typo_fix) if ($typo =~ /^[A-Z]/);
> > 
> > and using $hereptr and not $hereline when emitting the message.
> > 
> Sure I will do that.
> Is the color highlighting also supported in most systems?

I believe so, yes.

Color is only used when the output is to stdout and not redirected
and not otherwise specified on the checkpatch command line.

> Maybe a red colored word would be nice to notice as well.

Maybe, but that might make the code around the message output of
$hereptr a bit obscure.  Presumably the code would not use $hereline
but something else new and specific for this message.

The output is done via the report() function so adding optional color
for only a portion of the new $hereptr string might be a lot of code.

If you try it, maybe make the misspelled word color match the message
level and not just be red.  Also the caret line wouldn't have much 
value with that added color highlighting.

Try it and see what you prefer.


_______________________________________________
Linux-kernel-mentees mailing list
Linux-kernel-mentees@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2] checkpatch: fix TYPO_SPELLING check for words with apostrophe
  2020-12-01 18:29       ` [Linux-kernel-mentees] " Joe Perches
@ 2020-12-01 18:52         ` Dwaipayan Ray
  -1 siblings, 0 replies; 10+ messages in thread
From: Dwaipayan Ray @ 2020-12-01 18:52 UTC (permalink / raw)
  To: Joe Perches; +Cc: linux-kernel-mentees, linux-kernel, Lukas Bulwahn, Peilin Ye

On Tue, Dec 1, 2020 at 11:59 PM Joe Perches <joe@perches.com> wrote:
>
> On Tue, 2020-12-01 at 23:39 +0530, Dwaipayan Ray wrote:
> > On Tue, Dec 1, 2020 at 11:32 PM Joe Perches <joe@perches.com> wrote:
> > > On Tue, 2020-12-01 at 12:53 +0530, Dwaipayan Ray wrote:
> > > > checkpatch reports a false TYPO_SPELLING warning for some words
> > > > containing an apostrophe when run with --codespell option.
> > > >
> > > > 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'?"
> > > >
> > > > Modify the regex pattern to be more in line with the codespell
> > > > default word matching regex. This fixes the word capture and
> > > > avoids the false warning.
> > > >
> > > > Suggested-by: Joe Perches <joe@perches.com>
> > > > Reported-by: Peilin Ye <yepeilin.cs@gmail.com>
> > > > Signed-off-by: Dwaipayan Ray <dwaipayanray1@gmail.com>
> > > > ---
> > > > Changes in v2:
> > > > - Use the default codespell word regex.
> > > > - Modify commit message to specify --codespell usage
> > > >
> > > >  scripts/checkpatch.pl | 2 +-
> > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > >
> > > > diff --git 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 =~ /(?:^|[^\w\-'`])($misspellings)(?:[^\w\-'`]|$)/gi) {
> > >
> > > This regex seems to work well, thanks.
> > >
> > > >                               my $typo = $1;
> > >
> > > A trivial improvement might be to highlight the location of the
> > > misspelled word with a caret using
> > >
> > >                                 my $blank = copy_spacing($rawline);
> > >                                 my $ptr = substr($blank, 0, $-[0] + 1) . "^";
> > >                                 my $hereptr = "$hereline$ptr\n";
> > >
> > > >                               my $typo_fix = $spelling_fix{lc($typo)};
> > > >                               $typo_fix = ucfirst($typo_fix) if ($typo =~ /^[A-Z]/);
> > >
> > > and using $hereptr and not $hereline when emitting the message.
> > >
> > Sure I will do that.
> > Is the color highlighting also supported in most systems?
>
> I believe so, yes.
>
> Color is only used when the output is to stdout and not redirected
> and not otherwise specified on the checkpatch command line.
>
> > Maybe a red colored word would be nice to notice as well.
>
> Maybe, but that might make the code around the message output of
> $hereptr a bit obscure.  Presumably the code would not use $hereline
> but something else new and specific for this message.
>
> The output is done via the report() function so adding optional color
> for only a portion of the new $hereptr string might be a lot of code.
>
> If you try it, maybe make the misspelled word color match the message
> level and not just be red.  Also the caret line wouldn't have much
> value with that added color highlighting.
>
> Try it and see what you prefer.
>

Thanks for your view.
Colors seem to obscure the word even more. The carat one seemed nicer
to me visually. I will send in a new version for that.

Regards,
Dwaipayan.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [Linux-kernel-mentees] [PATCH v2] checkpatch: fix TYPO_SPELLING check for words with apostrophe
@ 2020-12-01 18:52         ` Dwaipayan Ray
  0 siblings, 0 replies; 10+ messages in thread
From: Dwaipayan Ray @ 2020-12-01 18:52 UTC (permalink / raw)
  To: Joe Perches; +Cc: linux-kernel-mentees, linux-kernel, Peilin Ye

On Tue, Dec 1, 2020 at 11:59 PM Joe Perches <joe@perches.com> wrote:
>
> On Tue, 2020-12-01 at 23:39 +0530, Dwaipayan Ray wrote:
> > On Tue, Dec 1, 2020 at 11:32 PM Joe Perches <joe@perches.com> wrote:
> > > On Tue, 2020-12-01 at 12:53 +0530, Dwaipayan Ray wrote:
> > > > checkpatch reports a false TYPO_SPELLING warning for some words
> > > > containing an apostrophe when run with --codespell option.
> > > >
> > > > 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'?"
> > > >
> > > > Modify the regex pattern to be more in line with the codespell
> > > > default word matching regex. This fixes the word capture and
> > > > avoids the false warning.
> > > >
> > > > Suggested-by: Joe Perches <joe@perches.com>
> > > > Reported-by: Peilin Ye <yepeilin.cs@gmail.com>
> > > > Signed-off-by: Dwaipayan Ray <dwaipayanray1@gmail.com>
> > > > ---
> > > > Changes in v2:
> > > > - Use the default codespell word regex.
> > > > - Modify commit message to specify --codespell usage
> > > >
> > > >  scripts/checkpatch.pl | 2 +-
> > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > >
> > > > diff --git 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 =~ /(?:^|[^\w\-'`])($misspellings)(?:[^\w\-'`]|$)/gi) {
> > >
> > > This regex seems to work well, thanks.
> > >
> > > >                               my $typo = $1;
> > >
> > > A trivial improvement might be to highlight the location of the
> > > misspelled word with a caret using
> > >
> > >                                 my $blank = copy_spacing($rawline);
> > >                                 my $ptr = substr($blank, 0, $-[0] + 1) . "^";
> > >                                 my $hereptr = "$hereline$ptr\n";
> > >
> > > >                               my $typo_fix = $spelling_fix{lc($typo)};
> > > >                               $typo_fix = ucfirst($typo_fix) if ($typo =~ /^[A-Z]/);
> > >
> > > and using $hereptr and not $hereline when emitting the message.
> > >
> > Sure I will do that.
> > Is the color highlighting also supported in most systems?
>
> I believe so, yes.
>
> Color is only used when the output is to stdout and not redirected
> and not otherwise specified on the checkpatch command line.
>
> > Maybe a red colored word would be nice to notice as well.
>
> Maybe, but that might make the code around the message output of
> $hereptr a bit obscure.  Presumably the code would not use $hereline
> but something else new and specific for this message.
>
> The output is done via the report() function so adding optional color
> for only a portion of the new $hereptr string might be a lot of code.
>
> If you try it, maybe make the misspelled word color match the message
> level and not just be red.  Also the caret line wouldn't have much
> value with that added color highlighting.
>
> Try it and see what you prefer.
>

Thanks for your view.
Colors seem to obscure the word even more. The carat one seemed nicer
to me visually. I will send in a new version for that.

Regards,
Dwaipayan.
_______________________________________________
Linux-kernel-mentees mailing list
Linux-kernel-mentees@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2020-12-01 18:53 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-01  7:23 [PATCH v2] checkpatch: fix TYPO_SPELLING check for words with apostrophe Dwaipayan Ray
2020-12-01  7:23 ` [Linux-kernel-mentees] " Dwaipayan Ray
2020-12-01 18:01 ` Joe Perches
2020-12-01 18:01   ` [Linux-kernel-mentees] " Joe Perches
2020-12-01 18:09   ` Dwaipayan Ray
2020-12-01 18:09     ` [Linux-kernel-mentees] " Dwaipayan Ray
2020-12-01 18:29     ` Joe Perches
2020-12-01 18:29       ` [Linux-kernel-mentees] " Joe Perches
2020-12-01 18:52       ` Dwaipayan Ray
2020-12-01 18:52         ` [Linux-kernel-mentees] " Dwaipayan Ray

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.