|
From: sfeam (E. Merritt) <eam...@gm...> - 2010-07-01 04:16:09
|
On Wednesday 30 June 2010, Tatsuro MATSUOKA wrote:
\>
> I have tried to updated binaries on latest cvs source.
> The latest ChangeLog date is 2010-06-29.
>
> Some plots are broken on the fit.dem.
Yuck. In cleaning out some of the tangles in the variable color
code, we inadvertantly broke a particular usage that depended on
the tangle. The offending command is in essence
plot 'lcdemo.dat' with points
No using spec is given. There are 5 columns of data in the file.
The bare "points" style can only use 2 of them. But the internal
variable max_cols is set to 4 because it is true that if both
variable color and variable pointsize are requested, the 4 columms
would be used. The revised handling of variable color means that
we never actually reach the code that was in place to handle
4 columns of data (the column containing color data is stored
first, and the column count is then reduced by one). So we removed
that code because it was supposedly dead. But in the broken case
we have here, where no using spec is given at all, the routine
df_readline() helpfully reports that max_cols columns of data are
available even though we didn't ask for them.
Sigh. I'll add back the deleted code. But this is really ugly.
Ideally I think the entire logic of the get_data routine should be
revised so that instead of
switch (number_of_data_columns_returned) {
case 1:
... handle lots of plot styles
case 2:
... handle lots of plot styles
...
case 7:
... handle lots of plot styles
}
the code is rearranged to instead look like
switch (plot_style) {
case DOTS:
... grab as many columns as we care about
case POINTSTYLE:
... grab as many columns as we case about
and so on
}
But that's more work than I care to put in at this time.
Anyhow, sorry for the breakage. I'll fix it.
Ethan
|