Chris Frey wrote:
> Man that was brutal... in the future you might want to
> use something like GNU indent and make a release with only formatting changes.
Noted, but hopefully there will be no "next time". :)
Also, the public Subversion repository is coming soon, so it'll be
possible to skip over big formatting changes, since I usually check them
in separately from other changes.
> Then it wouldn't be such a pain to track real changes with diff.
Understood. I'm not a big code style Nazi, but the previous style stunk
so bad I couldn't tolerate it. You'd have thunk that whitespace cost
money, the way it was used in the older code....
The new style is pretty common, so hopefully everyone will be able to
> const char *str; // this is good
> const char* str; // this is bad
I've been on both sides of that fence, and have landed on the latter
because the star modifies the type here, not "str".
> Because it makes the following valid code look correct, when it usually isn't:
> const char* str1, str2;
Not a sufficient reason to change it back. This is just a weakness in
C's design, which I compensate for by never declaring two pointers in
one statement. Then the issue never comes up.
> (I've been of this opinion before Joel Spolsky wrote about it too)
Some other luminary convinced me to change my style to the current one.
I could drop that name, if I remembered which one.
Point is, smart people disagree on points like this. At some point,
it's good enough that you follow a consistent style. The details don't
matter enough to make fighting worthwhile.
> That said, in general the old formatting style was rather compact and
> hard to parse, so thanks for the work so far. :-)
If there are any more instances where attention is needed, let me know.
I didn't find any on a quick once-over before the release, but I could
easily have missed some.
The most likely class of problems needing attention are where I missed
fixing things resulting from indent's weak knowledge of C++. indent
doesn't really know C++, so things like the & in references and the
angle brackets in templates confuse it. It thinks they're C operators,
so it adds spaces around them.