>>I saw a decent argument made for EVAL(), which I agree is a very nice feature. I don't know enough about the internal workings of macros and EVAL() to know how closely the two are tied, but I would kick and scream a lot louder if you asked me to give up EVAL.
>
>I use EVAL() whenever I can but EVAL() can't handle a few things like assignments (ie. the left side of an assigment) and things like full commands.
>
Sneaky tricks dept: you can use name evaluation for assignment by using STORE:
STORE EVAL(cSomeExpresssionToEvaluate) TO (cMyRandomVariableOrPropertyName)