clarify command.others and command.all to do more as expected, and allow ack to be recursive
when eval'ing a new function, always update name cache
use eval and different buffers when updating cache, was some unreproducible corruption