Re: [PATCH v2 3/3] test-lib.sh: support -x option for shell-tracing
From: Junio C Hamano <hidden>
Date: 2016-06-15 23:02:42
Jeff King [off-list ref] writes:
OK, I lied. I couldn't resist spending 5 more minutes on it. If you instrument t1308 on master to look at the contents of .git/config directly after the setup step, you'll see that the file ends with (tabs marked as ^I): [...] ^I^Ihorns ^IEOF Which makes sense. We forgot the tab-eating "<<-" in the here-doc, so the tab-indented EOF was not counted as the end of the input. So this test is bogus and broken, and the breakage introduced by my patch is only triggered because of that (which isn't to say we shouldn't necessarily adjust my patch, but we definitely should fix this test).
We came to more or less the same conclusion. With your $*" fixed, the test "works" as before, with the same definition of "works", because without your patch the file ends with <HT>EOF<LF> and with your original $*<LF><HT>" the file ends with <HT>EOF<LF> with these extra <LF><HT> appended, which was what made me notice, and with $*" the file ends with the same <HT>EOF<LF> as before. I've queued a fix for the original test on ta/config-set and also amended your $*".
What really surprises me is that the shell is fine with a here-doc ending inside an eval.
Yup, it smells somewhat mis-feature-ish, doesn't it? Anyway, you do not need to respond to this message in a hurry. Enjoy your dinner ;-)