From: "SZEDER Gábor" <szeder.dev@gmail.com>
To: Jonathan Nieder <jrnieder@gmail.com>
Cc: "SZEDER Gábor" <szeder.dev@gmail.com>,
"Junio C Hamano" <gitster@pobox.com>,
"Matthew Coleman" <matt@1eanda.com>,
"Stephon Harris" <theonestep4@gmail.com>,
"Duy Nguyen" <pclouds@gmail.com>,
"Jakub Narębski" <jnareb@gmail.com>,
git@vger.kernel.org, "Rick van Hattem" <wolph@wol.ph>,
"Dave Borowitz" <dborowitz@google.com>
Subject: Re: [PATCH v2] completion: reduce overhead of clearing cached --options
Date: Fri, 8 Jun 2018 23:16:39 +0200 [thread overview]
Message-ID: <20180608211639.7611-1-szeder.dev@gmail.com> (raw)
In-Reply-To: <20180607054834.GB6567@aiede.svl.corp.google.com>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=UTF-8, Size: 3148 bytes --]
> Related question: what would it take to add a zsh completion sanity
> check to t/t9902-completion.sh?
I don't know. What I do know is that we can't just run our tests with
ZSH, e.g. running 'zsh ./t0000-basic.sh' shows mostly failures. So it
won't be as simple as modifying 't/lib-bash.sh' to somehow support ZSH
as well.
> Here's a minimal fix, untested. As a followup, as Gábor suggests at [2],
> it would presumably make sense to stop overriding ZSH_VERSION, using
> this GIT_ scoped variable everywhere instead.
>
> Thoughts?
>
> Reported-by: Rick van Hattem <wolph@wol.ph>
> Reported-by: Dave Borowitz <dborowitz@google.com>
> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
>
> [1] https://public-inbox.org/git/01020163c683e753-04629405-15f8-4a30-9dc3-e4e3f2a5aa26-000000@eu-west-1.amazonses.com/
> [2] https://public-inbox.org/git/20180606114147.7753-1-szeder.dev@gmail.com/
>
> diff --git i/contrib/completion/git-completion.bash w/contrib/completion/git-completion.bash
> index 12814e9bbf..e4bcc435ea 100644
> --- i/contrib/completion/git-completion.bash
> +++ w/contrib/completion/git-completion.bash
> @@ -348,7 +348,7 @@ __gitcomp ()
>
> # Clear the variables caching builtins' options when (re-)sourcing
> # the completion script.
> -if [[ -n ${ZSH_VERSION-} ]]; then
> +if [[ -n ${ZSH_VERSION-} || -n ${GIT_SOURCING_ZSH_COMPLETION-} ]]; then
> unset $(set |sed -ne 's/^\(__gitcomp_builtin_[a-zA-Z0-9_][a-zA-Z0-9_]*\)=.*/\1/p') 2>/dev/null
> else
> unset $(compgen -v __gitcomp_builtin_)
> diff --git i/contrib/completion/git-completion.zsh w/contrib/completion/git-completion.zsh
> index 53cb0f934f..c7be9fd4dc 100644
> --- i/contrib/completion/git-completion.zsh
> +++ w/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=1 ZSH_VERSION='' . "$script"
>
> __gitcomp ()
> {
>
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
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 ()
{
next prev parent reply other threads:[~2018-06-08 21:16 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-05 3:10 [PATCH] specify encoding for sed command Stephon Harris
2018-04-05 6:53 ` Ævar Arnfjörð Bjarmason
2018-04-05 9:42 ` Eric Sunshine
2018-04-05 9:43 ` SZEDER Gábor
2018-04-10 7:18 ` Matt Coleman
2018-04-11 20:42 ` Matt Coleman
2018-04-12 22:12 ` Matthew Coleman
2018-04-13 0:01 ` SZEDER Gábor
2018-04-13 3:00 ` Matthew Coleman
2018-04-13 10:30 ` [PATCH] completion: reduce overhead of clearing cached --options SZEDER Gábor
2018-04-13 21:44 ` Jakub Narebski
2018-04-13 22:23 ` SZEDER Gábor
2018-04-14 13:27 ` Jakub Narebski
2018-04-16 18:23 ` Jacob Keller
2018-04-16 20:35 ` Matthew Coleman
2018-04-16 5:10 ` Junio C Hamano
2018-04-16 13:15 ` SZEDER Gábor
2018-04-16 13:29 ` Jakub Narębski
2018-04-16 22:43 ` Junio C Hamano
2018-04-17 22:02 ` [PATCH v2] " SZEDER Gábor
2018-04-17 23:45 ` Junio C Hamano
2018-05-07 15:05 ` Matthew Coleman
2018-05-08 2:28 ` Todd Zullinger
2018-05-08 3:28 ` Junio C Hamano
2018-06-07 5:48 ` Jonathan Nieder
2018-06-07 12:07 ` Dave Borowitz
2018-06-07 12:41 ` Rick van Hattem
2018-06-08 21:16 ` SZEDER Gábor [this message]
2018-06-08 21:23 ` Jonathan Nieder
2018-06-08 21:41 ` SZEDER Gábor
2018-06-08 21:52 ` Jonathan Nieder
2018-06-08 21:58 ` SZEDER Gábor
2018-06-11 17:53 ` Junio C Hamano
2018-06-11 18:20 ` [PATCH] completion: correct zsh detection when run from git-completion.zsh (Re: [PATCH v2] completion: reduce overhead of clearing cached --options) Jonathan Nieder
2018-06-12 8:46 ` SZEDER Gábor
2018-06-12 9:48 ` SZEDER Gábor
2018-06-12 9:51 ` Rick van Hattem
2018-04-08 23:17 ` [PATCH] specify encoding for sed command Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180608211639.7611-1-szeder.dev@gmail.com \
--to=szeder.dev@gmail.com \
--cc=dborowitz@google.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jnareb@gmail.com \
--cc=jrnieder@gmail.com \
--cc=matt@1eanda.com \
--cc=pclouds@gmail.com \
--cc=theonestep4@gmail.com \
--cc=wolph@wol.ph \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.