Hello, everyone.
I've just upped the PATCHLEVEL to 1, so the CVS head is now 4.0 patchlevel
1, a.k.a. 4.0.1, and tagged it as GNUPLOT_RELEASE_4_0_1.
I've also checked in some changes that had been sitting on my home box
for
ages, including another optimization of the postscript driver's output
which avoids breaking the path for the case of linewidth change requests
that don't actually change the width.
Please shake this down a bit to make sure I didn't introduce any major
breakage. Unless there are problems with this version, I'll continue by
checking my rather monstrous change that removes all remaining K&R
function definitions (and gets rid of whatever other CodeStyle violations
I stumbled upon in the process). I've also healed the major K&R
incompatibilities in the terminal API layer ('head' argument of
term->arrow(), 'c' argument of term->writec() are both int now). Once I've
checked that in, it'll become patchlevel 2, and become the branch-off
point for the 4.0 stable branch.
Some reminders from the CodeStyle department which would have made this
job easier if all of us had stuck to them more consequentially:
*) Function definitions are supposed to have the return type (including
all flags) on a line of its own, i.e.:
static int
foo(unsigned int x)
{
...
not
TBOOLEAN int PNG_PointX(int type)
*) Only file-scope objects and their comments ever start in colum 1.
*) Function-like macros that expand to a statement should never end with a
semicolon --- that's for the caller to supply, to avoid royally confusing
auto-indenting editors by apparently unfinished function calls. In case
of doubt, use the do {} while (0) trick, and define them as tightly as
possible, i.e. inside the function using them, and #undef them again ASAP.
*) Please, no blanks at the () of a function call, declaration or
definition. I.e. make it
a = sin(x);
not
a = sin( x ) ;
We want whitespace around operators, but typically not to the left of ')',
to the right of '(', nor to the left of ';' or ','.
*) Absolutely no dangling white space at line ends.
*) Please, every statement on a line of its own. No
a.x = foo ; a.y = bar;
if (c) return 0;
but
a.x = foo;
a.y = bar;
if (c)
return 0;
*) Opening braces go on the same line as the block's controlling for(),
while(), if() or "do" clause.
*) "} else" goes in one line.
*) If you open a { } for a case in a switch(), put the closing "break;"
line *inside* those braces.
--
Hans-Bernhard Broeker (br...@ph...)
Even if all the snow were burnt, ashes would remain.
|