 d93871143f
			
		
	
	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>
		
	
		
			
				
	
	
		
			6 lines
		
	
	
		
			89 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			6 lines
		
	
	
		
			89 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| (
 | |
| # LINT: line contains here-doc and closes nested subshell
 | |
| 	cat <<-\INPUT)
 | |
| 	fizz
 | |
| 	INPUT
 |