Jeff King <peff@xxxxxxxx> writes: >> > eval "${1%%=*}=\${1#*=}" >> >> Is this an elaborate way to say 'eval "$1"', or is there anything >> more subtle going on? > > Notice that the value half isn't expanded until we get inside the eval. Ahh, right. > Here's the patch I wrote up earlier (but was too timid to send out after > my barrage of emails :) ). Looks very sensible. I'll drop all these "Attempt to test with ksh93 found these breakages" patches and queue this one. > -- >8 -- > Subject: test-lib: add in-shell "env" replacement > > The one-shot environment variable syntax: > > FOO=BAR some-program > > is unportable when some-program is actually a shell > function, like test_must_fail (on some shells FOO remains > set after the function returns, and on others it does not). > > We sometimes get around this by using env, like: > > test_must_fail env FOO=BAR some-program > > But that only works because test_must_fail's arguments are > themselves a command which can be run. You can't run: We can do "test_must_fail test_commit ...", but "test_must_fail env FOO=BAR test_commit ..." would not work, right? If so s/because/when/, perhaps? -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html