On Tue, Apr 27, 2021 at 09:55:35AM -0600, Jonathan Corbet wrote: > The use of the variables here doesn't really make those expressions more > readable. > > > $members =~ s/\s*CRYPTO_MINALIGN_ATTR/ /gos; > > - $members =~ s/\s*____cacheline_aligned_in_smp/ /gos; > > - $members =~ s/\s*____cacheline_aligned/ /gos; > > + $members =~ s/\s*$cacheline_aligned_in_smp/ /gos; > > + $members =~ s/\s*$cacheline_aligned/ /gos; > > > > + my $args = qr{([^,)]+)}; > > # replace DECLARE_BITMAP > > $members =~ s/__ETHTOOL_DECLARE_LINK_MODE_MASK\s*\(([^\)]+)\)/DECLARE_BITMAP($1, __ETHTOOL_LINK_MODE_MASK_NBITS)/gos; > > - $members =~ s/DECLARE_BITMAP\s*\(([^,)]+),\s*([^,)]+)\)/unsigned long $1\[BITS_TO_LONGS($2)\]/gos; > > + $members =~ s/DECLARE_BITMAP\s*\($args,\s*$args\)/unsigned long $1\[BITS_TO_LONGS($2)\]/gos; > > Here too ... this is the kind of stuff that makes me glad that Colorado > is a legal-weed state, and the new version, while better, doesn't change > that basic fact. I'm going to have to disagree with you on this one (I agree with you on all the others). I find this much easier to read ... "DECLARE_BITMAP followed by any amount of whitespace, literal open bracket, an argument, literal comma, whitespace, another argument, literal close bracket" Before, I get to "DECLARE_BITMAP followed by any amount of whitespace, then some line noise". Obviously I'm less experienced at reading regexes than you are, but this simplification really does help me. > I think I'll stop here; hopefully I've gotten my point across. I really > like where this work is heading; focusing just a bit more on pulling the > regexes together and making the whole thing more readable would be > wonderful. Amen.