Re: [PATCH] git-prompt: use builtin test

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Jun 19, 2022 at 01:26:08AM +0000, Brad Forschinger wrote:

> > But at some point we may say "you have made the environment too hostile
> > for us to function". Is redefining "test" to something that doesn't
> > behave the same way such a case? Part of me wants to say yes. :)
> 
> I'd be inclined to agree!  But disregarding a user with malicious
> intent, these environment changes can also be unintentional: I came
> across it when I stubbed out a quick test() function while prototyping
> something unrelated.

I kind of wonder what else would have trouble with your accidental
breakage. I poked at the bash-completion package as the only other
prominent "source this into your bash script" package I could think of.
They do indeed seem to mostly avoid "test", though there are a few cases
in program-specific completions.

In the general case, though, I think it's an infinite rabbit hole. I can
similarly redefine "declare" or "local" and cause all sorts of trouble.
And there's no real defense for scripts there.

> >   - my biggest concern on cost is that this is an unusual style for our
> >     project (which usually writes in POSIX shell, though of course this
> >     file is meant to be bash/zsh specific). Will it be a maintenance
> >     burden going forward?
> 
> That's possible, but I suspect the burden is minimal.  As you said, this
> is bash and zsh specific, and for those shell coders who only write
> Bourne dialect it's to be read as a "strong" left square bracket.  For
> example, to minimize any shock to the eyeballs I've intentionally not
> re-written string operations `[ a = b ] && [ c = d ]` to `[[ a == b && c
> == d ]]`.  I promise it wasn't mere laziness!

I guess my concern was less about doing it once, and more about: is this
something we want to continue enforcing as time goes on? That is, would
we want to catch it in review and complain about people using "test"?
That's a subtle thing to remember to look for, though I guess we could
automate it via the tests. Or would we rely on people who cared to
notice new instances and submit patches? That's how we deal with some
other portability issues (if nobody is screaming, how broken could it
be?). But it sounds from your description like this was a one-off even
for you.

So I dunno. I'm not really opposed, but I'm not convinced it's really
accomplishing much here.

-Peff



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux