Subject: Re: [PATCH v2 1/3] completion: bash: add __git_have_func helper

From: SZEDER Gábor <[email-masked]>
Date: Wed, 30 Dec 2020 19:00:08 +0100

On Wed, Dec 30, 2020 at 06:17:52PM +0100, René Scharfe wrote:
> > +__git_have_func () {
> > +	declare -f $1 >/dev/null 2>/dev/null

> 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.