Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: [PATCH] _git: Fix __git_recent_branches for case when commit has empty message

WGH wrote on Sun, 02 Feb 2020 02:50 +0300:
> On 2/1/20 3:09 AM, Daniel Shahaf wrote:
> > Not on my machine.
> >
> > First, the unidiff was improperly serialized: the spaces at the start
> > of each context line were converted to non-breaking spaces (U+00A0).
> Oh, damn, despite all my efforts, Thunderbird still messed the patch up. Sigh. (gotta finally find some sane mail client)

Thanks for your efforts.

For Thunderbird there's
https://wiki.openstack.org/wiki/MailingListEtiquette#Thunderbird , but
I don't think it affects you since your email wasn't format=flowed.

Usually, I send patches through one of git-send-email(1), Mutt, and
Claws.  None of them munge whitespace (some of them had to be
configured appropriately first).

> Anyway, copypasting it from the mailing list archive results in something that applies cleanly: https://www.zsh.org/mla/workers/2020/msg00190.html

If you look at the HTML source of that page you'll find it has the
non-breaking spaces still.  Firefox, at least, translates NBSP to
ordinary space upon copying, so that might explain why copy-pasting
that way worked.  The problem is that copying text this way would also
obliterate any non-breaking spaces that were added intentionally.

> > I applied the patch manually, and completion did work, but stderr was
> > spammed with two warnings:
> >
> > +__git_recent_branches:21>   local $'z=\C-@'
> > __git_recent_branches:21: command not found:
> That isn't supposed to happen. This should merely assign a string contained a single null byte to variable z. Maybe you didn't clean up all those NBSP?

Yes, sounds plausible.  If the first column was a non-breaking space,
that would cause the observed error message.

> >  
> > +__git_recent_branches:22> _call_program all-descriptions 'git --no-pager for-each-ref --format='\''%(refname)%00%(subject)'\' refs/heads/master --                                                                
> > __git_recent_branches:22: unknown file attribute:
> Likewise, I have no clue what it is.

That'd be the same issue.  The word «descriptions=(…)» was taken as an
ordinary positional argument followed by glob qualifiers to the « »
(NBSP) command.  The character «=» is not special when not in
a pre-command assignment; it's just an ordinary filename character.

I've applied your patch to master with a grammar tweak; it'll be
in 5.8.  Thanks again!


Messages sorted by: Reverse Date, Date, Thread, Author