Problems with EV (WAS: Error message: Too many contexts)



Small correction to one of my examples of EV's bizarre behavior...   I said
ev(qq:q1) => q2.  Actually:

(q1:'q2,q2:'q3,q3:'q4)$
ev(q1) => q3                   OK
ev(qq:q1) => q3             OK, but qq is also set to q3 !!!

With Lisp semantics, eval(qq:q1) would have had the value q3, but qq would
have the value q2.

And it gets worse....

      (q1:'q2,q2:'q3,q3:'q4)$ kill(a)$
      [ a[q1]:q1, a['q2] ] => [ q2, q2 ]         OK

      (q1:'q2,q2:'q3,q3:'q4)$ kill(a)$
      [ ev( a[q1]:q1 ), a['q2] ] => [ q3, q3 ]    !!!
           wait a sec... the q1 on the right-hand side evaluated to q3, but
the q1
           in the subscript evaluated to q2 ?!?!