>>Kidding aside, I have seen noticable improvements by my approach in functions which are used inside loops.
>
>Actually inside a loop a macro expression should not re-evaluate... The parser only hits it once and injects the code it comes out to.
>
>That's why in some situations & can be more efficient than EVAL()...
>
>But if you can avoid Macros - by all means do - it's always faster to not use EVAL or &.
When I wrote inside a loop, I ment something like this
Scan
Do myfunc
Enddo
Procedure Myfunc
lcSet=SET('somesetting')
Set somesetting off
code
more code
...
if lcSet='ON'
set somesetting on
endif
EndProc