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

Re: [PATCH] git-completion: workaround zsh COMPREPLY bug

From
Matthieu Moy <matthieu.moy@grenoble-inp.fr>
Date
Jan 25, 2012, 07:41 UTC
Message-ID
<vpqwr8g8c03.fsf@bauges.imag.fr>
In-Reply-To
<1327455422-22340-1-git-send-email-felipe.contreras@gmail.com>
Felipe Contreras <felipe.contreras@gmail.com> writes:
> The simplest and most generic solution is to hide all the changes we do
> to IFS, so that "foo \nbar " is recognized by zsh as "foo bar". This
> works on versions of git before and after the introduction of
> __gitcomp_nl (a31e626), and versions of zsh before and after 4.3.12.
[...]
> +
> +		# another workaround for zsh because it would quote spaces in
> +		# the COMPREPLY array if IFS doesn't contain spaces
> +		typeset -h IFS
No time to test right now, but is this not going to
1) leave IFS as hidden even outside the completion script, possibly
affecting unrelated scripts that would need to set IFS as local and keep
its special effect?
2) break cases where strings are to be split on \n only (e.g. see
"foo bar\nboz" as three possible completions "foo", "bar", "boz" instead
of "foo bar" and "boz"?
-- 
Matthieu Moy
http://www-verimag.imag.fr/~moy/
Previous: Felipe ContrerasNext: Felipe Contreras
Message 2 of 7 in “git-completion: workaround zsh COMPREPLY bug”
  1. git-completion: workaround zsh COMPREPLY bugFelipe Contreras, Jan 25, 2012
  2. Matthieu MoyJan 25, 2012
  3. Felipe ContrerasJan 25, 2012
  4. Matthieu MoyJan 25, 2012
  5. Felipe ContrerasJan 28, 2012
  6. Junio C HamanoJan 26, 2012
  7. Felipe ContrerasJan 27, 2012

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.