From: Felipe Contreras Date: Thu, 02 Feb 2012 11:00:27 GMT Subject: Re: [PATCH v3 1/4] completion: be nicer with zsh Message-ID: In-Reply-To: <8739at8qw6.fsf@thomas.inf.ethz.ch> On Thu, Feb 2, 2012 at 12:35 PM, Thomas Rast wrote: > Felipe Contreras writes: > >> On Thu, Feb 2, 2012 at 10:48 AM, Jonathan Nieder wrote: >> >> Exactly, and "completion: avoid default value assignment on : true >> command" tells *nothing* to most people. Why is this patch needed? Do >> I care about it? >> >> OTOH "completion: be nicer with zsh" explains the purpose of the patch >> and people that don't care about zsh can happily ignore it if they >> want, and the ones that care about zsh might want to back port it, or >> whatever. > > Perhaps you could compromise on > >  completion: work around zsh word splitting bug in : ${foo:=$(bar)} Yes, that sounds better, perhaps: completion: work around zsh option propagation bug >> | tl;dr: $__git_porcelain_commands = $__git_all_commands >> >> Wrapping it up, to make clear what happens. > > I think this is not good style for a commit message.  Apart from the > very trendy use of tl;dr, it doesn't even properly summarize the cause > *or* the user-visible symptom.  It just states how the confusion > propagates somewhere in the middle of the code. I don't think the cause or the user-visible symptom need any summary. I was trying to summarize this: --- This is because in zsh the following code: for i in $__git_all_commands would evaluate $__git_all_commands as a single word (with spaces), ${=__git_all_commands} should be used to do word splitting expansion (unless SH_WORD_SPLIT is used). sh emulation should take care of that, but the command expantion is messing up with that. --- -- Felipe Contreras