Re: [Cocci] coccinelle: Convert comma to semicolons (was Re: [PATCH] checkpatch: Add test for comma use that should be semicolon)
From: Joe Perches
Date: Fri Sep 25 2020 - 13:26:35 EST
On Fri, 2020-09-25 at 19:06 +0200, Julia Lawall wrote:
> On Thu, 24 Sep 2020, Joe Perches wrote:
> > On Thu, 2020-09-24 at 23:53 +0200, Thomas Gleixner wrote:
> > > On Thu, Sep 24 2020 at 13:33, Joe Perches wrote:
> > > > On Thu, 2020-09-24 at 22:19 +0200, Thomas Gleixner wrote:
> > > > > On Sat, Aug 22 2020 at 09:07, Julia Lawall wrote:
> > > > > > On Fri, 21 Aug 2020, Joe Perches wrote:
> > > > > > > True enough for a general statement, though the coccinelle
> > > > > > > script Julia provided does not change a single instance of
> > > > > > > for loop expressions with commas.
> > > > > > >
> > > > > > > As far as I can tell, no logic defect is introduced by the
> > > > > > > script at all.
> > > > > >
> > > > > > The script has a rule to ensure that what is changed is part of a top
> > > > > > level statement that has the form e1, e2;. I put that in to avoid
> > > > > > transforming cases where the comma is the body of a macro, but it protects
> > > > > > against for loop headers as well.
> > > > >
> > > > > Right. I went through the lot and did not find something dodgy. Except
> > > > > for two hunks this still applies. Can someone please send a proper patch
> > > > > with changelog/SOB etc. for this?
> > > >
> > > > Treewide?
> > > >
> > > > Somebody no doubt would complain, but there
> > > > _really should_ be some mechanism for these
> > > > trivial and correct treewide changes...
> > >
> > > There are lots of mechanisms:
> >
> > I've tried them all.
> >
> > None of them work particularly well,
> > especially the individual patch route.
> >
> > > - Andrew picks such changes up
> >
> > Generally not treewide.
> >
> > > - With a few competent eyeballs on it (reviewers) this can go thorugh
> > > the trivial tree as well. It's more than obvious after all.
> >
> > Jiri is almost non-existent when it comes to
> > trivial treewide patches.
> >
> > > - Send the script to Linus with a proper change log attached and ask
> > > him to run it.
> >
> > Linus has concerns about backports and what he
> > deems trivialities. Generally overblown IMO.
> >
> > > - In the worst case if nobody feels responsible, I'll take care.
> >
> > If Julia doesn't send a new patch in the next few
> > days, I will do the apply, fixup and resend of hers.
> >
> > So, you're on-deck, nearly up...
> >
> > > All of the above is better than trying to get the attention of a
> > > gazillion of maintainters.
> >
> > True.
> >
> > And all of the treewide changes depend on some
> > generic acceptance of value in the type of change.
> >
> > Some believe that comma->semicolon conversions
> > aren't useful as there isn't a logical change and
> > the compiler output wouldn't be different.
>
> I have a script that will cut up the patches and send them to the
> appropriate maintainers, so I have no problem with that route.
I have a script that does that too.
The complaint I get about its use is
"OMG: My specific commit header style isn't followed"
And the generic individual maintainer apply rate for
each specific patch is always less than 50%.
For instance the patches that converted the comma uses
in if/do/while statements to use braces and semicolons
from a month ago:
https://lore.kernel.org/lkml/cover.1598331148.git.joe@xxxxxxxxxxx/
29 patches, 13 applied.
Best of luck.