Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: f() { local -ar path=(/bin); };f gives an error
> On 11/27/2017 03:17 PM, Stephane Chazelas wrote:
>>
>> The issue here is that when you're trying to make $path (the
>> special array variable tied to $PATH) readonly (with a value)
>> locally in a function, that doesn't work.
Something a little weird happens with order-of-operations for tied parameters:
f() { local -ar path; PATH=foo; echo $path }
Note there's no error there, $path is changed by the assignment to
$PATH even though the array is read-only. The reverse also works; you
have to make both parameters read-only to prevent changing either one
by assignment to the other.
f() { path=(/bin); local -r path PATH; ... } # achieves the desired effect
Messages sorted by:
Reverse Date,
Date,
Thread,
Author