On Sat, Sep 18, 2021 at 09:02:37PM -0400, Eric Sunshine wrote: > On Sat, Sep 18, 2021 at 6:05 PM Jeff King <peff@xxxxxxxx> wrote: > > Swapping out the "printf >expect" for a here-doc might make it a bit > > more readable. I used printf because of the tab handling, but: > > > > tab=$(printf "\t") > > cat >expect <<-EOF > > ref: ${dst}${tab}HEAD > > ${oid}${tab}HEAD > > EOF > > > > isn't too bad. > > Or just use q_to_tab(): > > q_to_tab >expect <<-EOF > ref: ${dst}QHEAD > ${oid}QHEAD > EOF > > However, the typical use-case for q_to_tab() is when we need a leading > or trailing TAB character. Ah, yeah, I forgot we had that. I _thought_ we had a variable ($HT or something) for this, but it looks like we only define and use it in a few scripts. I'm not sure using q_to_tab() is all that readable here, because it blends into the HEAD token. > When TAB is embedded within the line, we > often just use a literal TAB character; indeed, many tests in the > suite do exactly that, so that would be an even simpler option. Yeah, that'd probably be OK. I usually shy away from embedded tabs because they can cause confusion in editors. But we have them already, and this kind of expected output is not touched all that often. -Peff