mirror of
https://github.com/git/git.git
synced 2024-10-31 22:37:54 +01:00
d93871143f
After swallowing a here-doc, chainlint.sed assumes that no other processing needs to be done on the line aside from checking for &&-chain breakage; likewise, after folding a multi-line quoted string. However, it's conceivable (even if unlikely in practice) that both a here-doc and a multi-line quoted string might commence on the same line: cat <<\EOF && echo "foo bar" data EOF Support this case by sending the line (after swallowing and folding) through the normal processing sequence rather than jumping directly to the check for broken &&-chain. This change also allows other somewhat pathological cases to be handled, such as closing a subshell on the same line starting a here-doc: ( cat <<-\INPUT) data INPUT or, for instance, opening a multi-line $(...) expression on the same line starting a here-doc: x=$(cat <<-\END && data END echo "x") among others. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
9 lines
132 B
Text
9 lines
132 B
Text
(
|
|
# LINT: line contains here-doc and opens multi-line $(...)
|
|
x=$(bobble <<-\END &&
|
|
fossil
|
|
vegetable
|
|
END
|
|
wiffle)
|
|
echo $x
|
|
)
|