a lot of us have stumbled across problems with $eval() in the past, things like:

Code:
//var -s %a = ( | echo -a $eval(%a,2)


or:

Code:
//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:

Code:
//var -s %a = a, b, c | echo -a $eval(%a,2)


versus:

Code:
//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?