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

Re: ${path[@]} in sh mode [was: Segfault with zsh 5.2]

On Fri, Jan 22, 2016 at 9:45 PM, Martijn Dekker <martijn@xxxxxxxx> 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

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