[Linux-kernel-mentees] [PATCH] checkpatch: fix unescaped left braces

Joe Perches joe at perches.com
Tue Jan 5 10:49:07 UTC 2021


On Tue, 2021-01-05 at 10:35 +0000, David Laight wrote:
> From: Joe Perches
> > Sent: 05 January 2021 10:01
> > 
> > On Tue, 2021-01-05 at 15:05 +0530, Dwaipayan Ray wrote:
> > > Perl 5.22 onwards require that "A literal "{" should now be
> > > escaped in a pattern".
> 
> Sounds like a good reason to never use perl :-)
> 
> > Not quite correct.
> > 
> > > checkpatch contains several literal "{". Fix such instances
> > > by preceding them with a backslash.
> > 
> > Not all literal left braces need to be escaped.
> > https://www.perlmonks.org/?node_id=1191981
> > 
> > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> > []
> > > @@ -2036,7 +2036,7 @@ sub annotate_values {
> > >  			print "ASSIGN($1)\n" if ($dbg_values > 1);
> > >  			$type = 'N';
> > > 
> > > 
> > > -		} elsif ($cur =~/^(;|{|})/) {
> > > +		} elsif ($cur =~ /^(;|\{|\})/) {
> 
> isn't (;|{|}) much the same as [;{}] ??

Yes, but without the capture, so /^([;{}])/ would be the same.

I presume the | style was used for consistency with other uses
in the same block.

Andy Whitcroft wrote that bit a long time ago.




More information about the Linux-kernel-mentees mailing list