different meaning of function parameters?



Sorry for the slow response.

This is a bug in solve:

   solve([x=1],[x]) => [x = 1]           -- correct
   solve('[x=1],'[x]) => [x = 1]          --correct
x:23$
   solve([x=1],[x]) => error            -- correct, this is solving
[23=1] for [23]
   solve('[x=1],'[x]) => error           -- not correct, solve is
looking at the value of 'x'

This is caused because $solve evaluates its arguments an extra time.
This bug has been in the code for a while (starts with "(setq eql..."
in the 7th line of $solve), and I don't know what the motivation for
this code was.

Sorry for the bug, we'll try to fix it.  Does anyone know any reason
for this code?

            -s