Re: [PATCH v2 1/3] completion: bash: add __git_have_func helper
- From
SZEDER Gábor <szeder.dev@gmail.com>
- Date
- Dec 30, 2020, 18:00 UTC
- Message-ID
- <20201230180008.GL8396@szeder.dev>
- In-Reply-To
- <1402dabd-089d-616a-ef79-ff1ae3fcb438@web.de>
On Wed, Dec 30, 2020 at 06:17:52PM +0100, René Scharfe wrote:
> > +__git_have_func () {
> > + declare -f $1 >/dev/null 2>/dev/nullShow 12 quoted lines
> And then I wondered why use declare -f, which prints the function's
> body, when there is -F, which just prints the function's name. And why
> repeat /dev/null when redirecting stderr when the more shorter 2>&1
> would do the same? None of hat was introduced by you patch, of course.
> Anyway, this seems to work for me:
>
> __git_have_func () {
> case "$1" in
> -*) return 1 ;;
> esac
> declare -F "$1" >/dev/null 2>&1
> }The Bash completion script should be usable from Zsh as well, and Zsh only supports 'declare -f' but not '-F', see 06f44c3cc5 (completion: make compatible with zsh, 2010-09-06). The Zsh version included in the 16.04 based LTS setup that I have at hand doesn't yet seem to have a (for us) usable 'declare -F' yet.