From: Felipe Contreras Date: Mon, 30 Jan 2012 18:56:40 GMT Subject: Re: [PATCH v2 4/4] completion: be nicer with zsh Message-ID: In-Reply-To: <20120130182547.GA22549@burratino> On Mon, Jan 30, 2012 at 8:25 PM, Jonathan Nieder wrote: > Felipe Contreras wrote: > >> The commands might fail, that's why '2> /dev/null' was used before, >> and ':' is used right now. > > Wait, what? > > : is a no-op command.  It does not redirect stderr automatically or > do any other magical thing. Why don't you go ahead and try it? bash -c ': echo "err" > /dev/stderr' I don't see anything here. But actually, if I use $(echo "err" > /dev/stderr); _then_ I get something. Smells a lot like a bug to me. In any case, if you expected ':' to print errors, now I understand why you removed 2>/dev/null in eaa4e6e. > [...] >> And IMO harder to read. But you are correct that most of the code uses >> [[]], which I think is a shame. But I guess people want to keep using >> that. > > [[ has simpler syntax wrt quoting and other details.  But now that I > check, the code uses [ a lot, too (which, like "test", is a plain > built-in command), so I suppose consistency is the only reason to > prefer one over another.  "git log --grep='if \['" tells me the use of > '[' instead of 'test' here is deliberate. Maybe '[' then. -- Felipe Contreras