# [PATCH] t7800: avoid arithmetic expansion notation

3 messages from 2011-10-14 to 2011-10-14. Participants: Michael J Gruber, Junio C Hamano.
Thread: https://gitlist.dev/t/28676

## Michael J Gruber, 2011-10-14 12:15

Subject: [PATCH] t7800: avoid arithmetic expansion notation
Message-ID: <837ad77348b459aa5f5f79e556dbeeeba41027e7.1318594392.git.git@drmicha.warpmail.net>
URL: https://gitlist.dev/e/837ad77348b459aa5f5f79e556dbeeeba41027e7.1318594392.git.git%40drmicha.warpmail.net

```
ba959de (git-difftool: allow skipping file by typing 'n' at prompt, 2011-10-08)
introduced shell code like

$((foo; bar) | baz)

which some shells (e.g. bash, dash) interpret as an unfinished arithmetic
evaluation $(( expr )).

Write this as

$({foo; bar; } | baz)

which is unambiguous and also avoids an unnecessary subshell.

Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net>
---
 t/t7800-difftool.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/t/t7800-difftool.sh b/t/t7800-difftool.sh
index 7fc2b3a..76a8b70 100755
--- a/t/t7800-difftool.sh
+++ b/t/t7800-difftool.sh
@@ -289,7 +289,7 @@ test_expect_success PERL 'setup with 2 files different' '
 '
 
 test_expect_success PERL 'say no to the first file' '
-	diff=$((echo n; echo) | git difftool -x cat branch) &&
+	diff=$({ echo n; echo; } | git difftool -x cat branch) &&
 
 	echo "$diff" | stdin_contains m2 &&
 	echo "$diff" | stdin_contains br2 &&
@@ -298,7 +298,7 @@ test_expect_success PERL 'say no to the first file' '
 '
 
 test_expect_success PERL 'say no to the second file' '
-	diff=$((echo; echo n) | git difftool -x cat branch) &&
+	diff=$({ echo; echo n; } | git difftool -x cat branch) &&
 
 	echo "$diff" | stdin_contains master &&
 	echo "$diff" | stdin_contains branch &&
-- 
1.7.7.338.g0156b

```

## Junio C Hamano, 2011-10-14 18:00

Subject: Re: [PATCH] t7800: avoid arithmetic expansion notation
Message-ID: <7v4nzb1mjd.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7v4nzb1mjd.fsf%40alter.siamese.dyndns.org
In-Reply-To: <837ad77348b459aa5f5f79e556dbeeeba41027e7.1318594392.git.git@drmicha.warpmail.net>

```
Michael J Gruber <git@drmicha.warpmail.net> writes:

> ba959de (git-difftool: allow skipping file by typing 'n' at prompt, 2011-10-08)
> introduced shell code like
>
> $((foo; bar) | baz)
>
> which some shells (e.g. bash, dash) interpret as an unfinished arithmetic
> evaluation $(( expr )).

Ahh, thanks, I should have caught this. I recall I rewrote a similar one
to $( (command; command) | command ) more than once before.

```

## Junio C Hamano, 2011-10-14 19:00

Subject: Re: [PATCH] t7800: avoid arithmetic expansion notation
Message-ID: <7vfwivz9dd.fsf@alter.siamese.dyndns.org>
URL: https://gitlist.dev/e/7vfwivz9dd.fsf%40alter.siamese.dyndns.org
In-Reply-To: <7v4nzb1mjd.fsf@alter.siamese.dyndns.org>

```
Junio C Hamano <gitster@pobox.com> writes:

> Michael J Gruber <git@drmicha.warpmail.net> writes:
>
>> ba959de (git-difftool: allow skipping file by typing 'n' at prompt, 2011-10-08)
>> introduced shell code like
>>
>> $((foo; bar) | baz)
>>
>> which some shells (e.g. bash, dash) interpret as an unfinished arithmetic
>> evaluation $(( expr )).
>
> Ahh, thanks, I should have caught this. I recall I rewrote a similar one
> to $( (command; command) | command ) more than once before.

Forgot to mention that I love to see the issues on topics discovered and
corrected before they are still cooking in 'next', like this ;-)

Thanks all.

```
