Re: [PATCH v2] completion: reduce overhead of clearing cached --options
- From
SZEDER Gábor <szeder.dev@gmail.com>
- Date
- Jun 8, 2018, 21:41 UTC
- Message-ID
- <CAM0VKjkWkUmU9LGyKKFyvkOCFh1s+JJK4aZLPfoOJj26OkNQVg@mail.gmail.com>
- In-Reply-To
- <20180608212348.GA42503@aiede.svl.corp.google.com>
On Fri, Jun 8, 2018 at 11:23 PM, Jonathan Nieder <jrnieder@gmail.com> wrote:
Show 25 quoted lines
> Hi,
>
> SZEDER Gábor wrote:
>
>> Being in RC phase, I'm all for aiming for a minimal solution.
>> However, I don't think that the better fix would be erm.. any "less
>> minimal":
>>
>> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
>> index f2aa484758..7aeb575cd1 100644
>> --- a/contrib/completion/git-completion.bash
>> +++ b/contrib/completion/git-completion.bash
>> @@ -3244,7 +3244,10 @@ __gitk_main ()
>> __git_complete_revlist
>> }
>>
>> -if [[ -n ${ZSH_VERSION-} ]]; then
>> +if [[ -n ${ZSH_VERSION-} ]] &&
>> + # Don't define these functions when sourced from 'git-completion.zsh',
>> + # it has its own implementations.
>> + [[ -z "${GIT_SOURCING_ZSH_COMPLETION}" ]] ; then
>
> Needs a - before the } to avoid errors in a shell where the user has
> chosen to use "set -u". See v1.7.4-rc0~159 (completion: fix zsh check
> under bash with 'set -u', 2010-10-27) for more details.Right... I did remember that, but by the time I finished typing out that long variable name I forgot about it... :)
However, I'm not sure it's worth caring about, because the bash-competion scripts don't work with 'set -u' anyway...
Show 22 quoted lines
>> echo "WARNING: this script is deprecated, please see git-completion.zsh" 1>&2
>>
>> autoload -U +X compinit && compinit
>> diff --git a/contrib/completion/git-completion.zsh b/contrib/completion/git-completion.zsh
>> index 53cb0f934f..049d6b80f6 100644
>> --- a/contrib/completion/git-completion.zsh
>> +++ b/contrib/completion/git-completion.zsh
>> @@ -39,7 +39,7 @@ if [ -z "$script" ]; then
>> test -f $e && script="$e" && break
>> done
>> fi
>> -ZSH_VERSION='' . "$script"
>> +GIT_SOURCING_ZSH_COMPLETION=y . "$script"
>>
>> __gitcomp ()
>> {
>
> Except for that tweak,
> Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
> Thanks.
>
> Now it just needs a commit message. :)