Bug introduced in 10.0 and fixed in 10.3
It appears that perhaps the iterator variable r
is not Block
-ed in the ParametricPlot
code below. This does not happen with other Plot*
commands nor with Table
. The plot is produced successfully, however.
r = {0., 0.5, 1.};
ParametricPlot[r {Cos[t], Sin[t]}, {r, 0, 1}, {t, 0, 2 Pi}]
Thread::tdlen: Objects of unequal length in {0.,0.5,1.} {Cos[t],Sin[t]} cannot be combined. >>
Am I doing something wrong, or is it a bug?
This happens in V10.0.2 and V10.1 (Mac OSX). It does not happen in V9. I came across this in my answer to How to make a ArrayPlot/MatrixPlot in polar coordinates?.
Evaluated -> False
doesn't fix it, but (very weirdly!)Evaluated -> True
does! Exactly the opposite of what I would expect. $\endgroup$x := Print["x!"]; Plot[x, {x, 0, 1}]
. $\endgroup$r = {0., 0.5, 1.}
:Plot[r^2 {2, 3}, {r, 0, 1}, Evaluated -> True]
andPlot[Evaluate[r^2 {2, 3}], {r, 0, 1}]
. I think they should be. I don't know if that's the same bug or even a bug.Evaluated
is no longer documented, it seems, so WRI could argue that the discrepancy is unimportant. $\endgroup$