a lot of us have stumbled across problems with $eval() in the past, things like:
//var -s %a = ( | echo -a $eval(%a,2)
or:
//var -s %a = ,, | echo -a $eval(%a,2)
apparently the result of it using the auxiliary $evalnext() function at a lower level. one particular example i ran into today was:
//var -s %a = a, b, c | echo -a $eval(%a,2)
versus:
//var -s %a = a, b, cd | echo -a $eval(%a,2)
which is just plain strange :P couldn't $eval() be re-written slightly to take care of these problems, ie. have the string evaluated in the same way as code is evaluated normally, just repeated however many times?