git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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.

Previous: Jonathan Nieder
Message 7 of 7 in “Use ZSH_NAME instead of ZSH_VERSION because it's redefined by git-completion.zsh”
  1. Use ZSH_NAME instead of ZSH_VERSION because it's redefined by git-completion.zshRick van Hattem, Jun 3, 2018
  2. Junio C HamanoJun 4, 2018
  3. Rick van HattemJun 4, 2018
  4. SZEDER GáborJun 6, 2018
  5. Rick van HattemJun 6, 2018
  6. Jonathan NiederJun 7, 2018
  7. Junio C HamanoJun 11, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.