Re: [PATCH] Use ZSH_NAME instead of ZSH_VERSION because it's redefined by git-completion.zsh
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 11, 2018, 17:04 UTC
- Message-ID
- <xmqqefhdckzx.fsf@gitster-ct.c.googlers.com>
- In-Reply-To
- <xmqqr2ln5ide.fsf@gitster-ct.c.googlers.com>
Junio C Hamano <gitster@pobox.com> writes:
Show 19 quoted lines
> Rick van Hattem <wolph@wol.ph> writes:
>
>> The `git-completion.zsh` unsets the `$ZSH_VERSION` which makes this check moot. The result (at least for me) is that zsh segfaults because of all the variables it's unsetting.
>> ---
>
> Overlong line, lack of sign-off.
>
>> # Clear the variables caching builtins' options when (re-)sourcing
>> # the completion script.
>> -if [[ -n ${ZSH_VERSION-} ]]; then
>> +if [[ -n ${ZSH_NAME-} ]]; then
>
> ...
> ZSH_VERSION='' . "$script"
> ...
>
> If your ZSH_VERSION is empty, doesn't it indicate that the script
> did not find a usable git-completion.bash script (to which it
> outsources the bulk of the completion work)?Ah, I was totally mis-reading the script (and partly was confused by your use of "unset"). ZSH_VERSION is reset to an empty string, which breaks the check later done in the bash completion script.