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

Re: ZSH segmentation fault while completing "git mv dir/"

From
Matthieu Moy <matthieu.moy@grenoble-inp.fr>
Date
Apr 2, 2013, 14:32 UTC
Message-ID
<vpqwqslgfzf.fsf@grenoble-inp.fr>
In-Reply-To
<CAMP44s3ocY7qpESHCDRdHJBsH1DV+k1Z5OwSqsWndMZd_s6oBQ@mail.gmail.com>
Felipe Contreras <felipe.contreras@gmail.com> writes:
Show 11 quoted lines
> And this is a workaround:
>
> --- a/contrib/completion/git-completion.zsh
> +++ b/contrib/completion/git-completion.zsh
> @@ -66,7 +66,7 @@ __gitcomp_file ()
>
>         local IFS=$'\n'
>         compset -P '*[=:]'
> -       compadd -Q -p "${2-}" -f -- ${=1} && _ret=0
> +       compadd -Q -p "${2-}" -- ${=1} && _ret=0
>  }

OK, not something we want to apply to git.git, but this means a workaround for users is to create a _git file with this content instead instead of copying/symlinking git-completion.zsh as _git (replace $GIT_ROOT_PATH with the appropriate value):

. $GIT_ROOT_PATH/contrib/completion/git-completion.zsh
# Work around ZSH bug on zsh 4.3.10-dev-1-cvs0720, which segfaults
# when completing "git mv subdir/<tab>" by redefining __gitcomp_file
__gitcomp_file ()
{
	emulate -L zsh
	local IFS=$'\n'
	compset -P '*[=:]'
	# The original had a -f here to indicate file completion.
	compadd -Q -p "${2-}" -- ${=1} && _ret=0
}

(Hope this helps in case someone has the same problem and finds this thread ...)

Thanks,
-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
Previous: Felipe ContrerasNext: Junio C Hamano
Message 8 of 12 in “ZSH segmentation fault while completing "git mv dir/"”
  1. Matthieu MoyMar 11, 2013
  2. Manlio PerilloMar 11, 2013
  3. Matthieu MoyMar 11, 2013
  4. Manlio PerilloMar 11, 2013
  5. Jeff EplerMar 12, 2013
  6. Matthieu MoyMar 12, 2013
  7. Felipe ContrerasApr 1, 2013
  8. Matthieu MoyApr 2, 2013
  9. Junio C HamanoApr 2, 2013
  10. Matthieu MoyApr 2, 2013
  11. Manlio PerilloApr 2, 2013
  12. Matthieu MoyApr 3, 2013

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.