Re: [PATCH v3 1/4] completion: be nicer with zsh
- From
Felipe Contreras <felipe.contreras@gmail.com>
- Date
- Feb 2, 2012, 11:00 UTC
- Message-ID
- <CAMP44s3BcSGPCKPr_2EpGQRAv_kDM2_OQiyKDT7qY=QR0cHYpQ@mail.gmail.com>
- In-Reply-To
- <8739at8qw6.fsf@thomas.inf.ethz.ch>
On Thu, Feb 2, 2012 at 12:35 PM, Thomas Rast <trast@inf.ethz.ch> wrote:
Show 16 quoted lines
> Felipe Contreras <felipe.contreras@gmail.com> writes:
>
>> On Thu, Feb 2, 2012 at 10:48 AM, Jonathan Nieder <jrnieder@gmail.com> 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
Show 8 quoted lines
>> | 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