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

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/null
Show 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.

Previous: Junio C HamanoNext: Felipe Contreras
Message 8 of 10 in “completion: make __git_complete public”
  1. 0/3 completion: make __git_complete publicFelipe Contreras, Dec 29, 2020
  2. 2/3 test: completion: add tests for __git_completeFelipe Contreras, Dec 29, 2020
  3. 1/3 completion: bash: add __git_have_func helperFelipe Contreras, Dec 29, 2020
  4. René ScharfeDec 30, 2020
  5. Felipe ContrerasDec 30, 2020
  6. Felipe ContrerasDec 30, 2020
  7. Junio C HamanoJan 6, 2021
  8. SZEDER GáborDec 30, 2020
  9. Felipe ContrerasDec 30, 2020
  10. 3/3 completion: add proper public __git_completeFelipe Contreras, Dec 29, 2020

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.