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

Re: Bug report: `setopt noaliases` not respected in `local` statement without assignment.



On Thu, Mar 26, 2020 at 10:55 AM Marlon Richert
<marlon.richert@xxxxxxxxx> wrote:
>
> Test case:
>
> alias -g tail="multitail -Cs --follow-all"
> f() {
>   setopt localoptions no_aliases
>   local tail
>   tail=1
>   echo $tail
> }

Alias expansion happens when functions get parsed. If you don't want
`tail` to be alias-expanded within function `f`, you need to add
`setopt no_aliases` before the function of `f`.

> g() {
>   setopt localoptions no_aliases
>   local tail=1
>   echo $tail
> }

`tail` within `local tail=1` is not subject to global alias expansion.

Roman.



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