Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Function-scoped parameters?



Am 23.02.2011 um 19:03 schrieb Benjamin R. Haskell:

> This doesn't work, probably unsurprisingly.  But is there a way to accomplish it?
> 
> function () {
>    emulate -L zsh
>    local x=asdf
>    trap 'echo x is ${x:-unset}' EXIT
> }
> 
> The use case is that I want to assign a local parameter 'temp' to be set to the name of a temporary file.  If anything goes wrong in the function, I'd like that temporary file to be removed, but I don't want 'temp' to leak out of the function scope.
> 
> e.g.:
> dosomething () {
>    emulate -L zsh
>    local temp=$(mktemp)
>    setopt err_return
>    trap '(( $+temp )) && rm $temp' EXIT
>    # ...
> }

Would "setopt localtraps" be of any help?


Sebastian



Messages sorted by: Reverse Date, Date, Thread, Author