Plot 2D & 3D - Variables Range



> When I wrote this down I was being somehow oblivious of CHECK-RANGE
> seeing an already MEVAL'ed argument.

check-range is a weird little function.  First there is this double
meval'ing, which is peculiar.  Note that things like

      plot2d( expr, range)

where expr and range are both variables will work without the double
meval'ing, since plot2d is an expr, not an mfexpr.  What the double
evalling allows is something like this:

     range: '[ x, 0, a]$
     a: 34$
     plot2d(x^2,range)$

which is very bizarre.

Secondly, why is it first trying to make a and b numberp, and only
afterwards making them float?  Why isn't it simply

  (numberp (setq a ($float (second tem))))
  ...
  `((mlist) ,(car tem) ,a ,b)

There is one case where this doesn't work, namely things like 2^%pi,
but I would argue that that's a bug in $float, not in check-range.

        -s