Subject: Re: [PATCH v2 3/3] test-lib.sh: support -x option for shell-tracing

From: Junio C Hamano <[email-masked]>
Date: Mon, 13 Oct 2014 16:14:59 -0700

Jeff King <[email-masked]> 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 ;-)