> fn %local var wrapped-list cmd {
> let (old=$$var)
> unwind-protect {
> $var = <={$wrapped-list}
> $cmd
> }{$var = $old}}
>
> (Whose let is of course rewritable as a lambda...) Funny, I don't
> even see a problem with name space collisions!
what happens if the variable you're rebinding is named old, var,
wrapped-list, or cmd? that's the name space collision i was talking
about.
paul