Re: [PATCH] Change sed i\ usage to something Solaris' sed can handle
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:59:08
Ben Walton [off-list ref] writes:
On Mon, Oct 28, 2013 at 5:39 PM, Andreas Schwab [off-list ref] wrote:quoted
Ben Walton [off-list ref] writes:quoted
diff --git a/t/t4015-diff-whitespace.sh b/t/t4015-diff-whitespace.sh index 3fb4b97..0126154 100755 --- a/t/t4015-diff-whitespace.sh +++ b/t/t4015-diff-whitespace.sh@@ -145,7 +145,8 @@ test_expect_success 'another test, with --ignore-space-at-eol' 'test_cmp expect test_expect_success 'ignore-blank-lines: only new lines' ' test_seq 5 >x && git update-index x && - test_seq 5 | sed "/3/i \\ + test_seq 5 | sed "/3/i\\ +\ " >x &&Why do you need the \<nl>? Since it is inside double quotes the shell will remove it during expansion.It's an escape. Without it, sed throws: sed: -e expression #1, char 5: expected \ after `a', `c' or `i'
I think Andreas means the "feed blank line" part, i.e.
quoted
+ test_seq 5 | sed "/3/i\\ +\ " >x &&
should be the same as
quoted
+ test_seq 5 | sed "/3/i\\ " >x &&
because the lone \<nl> will be eaten and will not be seen by sed.
Do you see different results on Solaris between the following two?
$ echo "/3/i\\
\
" | od
$ echo "/3/i\\
" | od