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 -> Falsedoesn't fix it, but (very weirdly!)Evaluated -> Truedoes! Exactly the opposite of what I would expect. – Szabolcs Apr 14 '15 at 03:19x := Print["x!"]; Plot[x, {x, 0, 1}]. – Szabolcs Apr 14 '15 at 03:55r = {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.Evaluatedis no longer documented, it seems, so WRI could argue that the discrepancy is unimportant. – Michael E2 Apr 14 '15 at 11:39