>
> Bruce Momjian chortles ominiously:
> > I have written a script to remove braces around single statements, if
> > the statement is only one line in length.
> >
> > The macro fixup context diff was 1,200 lines, and this diff is 12k
> > lines.
> >
> > Hope no one is sitting on patches.
>
> Is this trip necessary? While I am a strong believer in aesthetics when
> it comes to code (make it pretty first, making pretty code work is easy),
> I am not sure I support wholesale changes (12,000 lines of diff) for
> the sake of purely cosmetic issues.
>
> It is somewhat costly to the developers as we will all have to pull a complete
> new source tree from CVS.
Yes, it is a tradeoff in making so much of a change, but I reviewed the
code, and patch file, and it looked good. I thought it was broken
because I could not recompile after it, but then realized the macros
were broken.
> It is also somewhat risky. Suppose the script makes an error some
> where due to a tricky macro or suchlike. If this is not in something that
> gets checked by the regression test how likely are we to find it?
If it is broken, we back out the changes.
>
> And, for those of us contemplating larger projects where we might change a
> large number of files over a period of weeks or months, it presents a
> really scary merge problem.
The code was very conservative:
awk ' { line3 = $0; /* remove un-needed braces around single statements */
if (skips > 0)
skips--;
if (line1 ~ " *{$" &&
line2 ~ " *[^;{}]*;$" &&
line3 ~ " *}$")
{
print line2;
line1 = "";
line2 = "";
line3 = "";
skips = 3;
}
else
if (skips == 0 && NR >= 3)
print line1;
line1 = line2;
line2 = line3;
line3 = "";
}
END {
if (skips <= 1)
print line1;
if (skips <= 2)
print line2;
}'
>
> That said, if you get my patch in before you whack the braces, I don't have
> anything right now that would be harmed.
--
Bruce Momjian | 830 Blythe Avenue
maillist@candle.pha.pa.us | Drexel Hill, Pennsylvania 19026
+ If your life is a hard drive, | (610) 353-9879(w)
+ Christ can be your backup. | (610) 853-3000(h)