Subject: Re: ${path[@]} in sh mode [was: Segfault with zsh 5.2]
From: Mikael Magnusson <[email-masked]>
To: Martijn Dekker <[email-masked]>
Cc: Peter Stephenson <[email-masked]>, zsh workers <[email-masked]>
Date: Sat, 23 Jan 2016 01:07:41 +0100
List-Id: Zsh Workers List <zsh-workers.zsh.org>

On Fri, Jan 22, 2016 at 9:45 PM, Martijn Dekker <[email-masked]> wrote:
> Martijn Dekker schreef op 22-01-16 om 20:12:
>> Peter Stephenson schreef op 07-12-15 om 14:36:
>>> Change now pushed.
>>
>> Can the ${path[@]} array be disabled in sh mode? I just noticed that it
>> auto-syncs with the system $PATH. Lowercase "path" is a perfectly normal
>> variable name in other shells and is a common English word, so conflicts
>> that result in corruption of $PATH are not unlikely when running scripts
>> written using other shells.
>
> Never mind: it is disabled when zsh is launched as sh (but not when
> launched as zsh and then executing 'emulate sh'). So I suppose it was
> decided long before that disabling it post-launch is not feasible. Sorry
> for the noise.

If you're in a function context, you can say 'typeset -h path' to hide
the specialness of $path and declare a new local of the same name. Eg,
one that isn't connected to PATH.

-- 
Mikael Magnusson