>From examining initial.es, I made this try. I thought I'd get "set x fred" and x set to fred: ;; set-x = { echo set x $*; return $* } ;; x = fred Here's what I actually got: set x uncaught exception: return (And the value of x remained unchanged.) What am I doing wrong? Or is this a bug? OK, John.