Re: Re*: [PATCH] t1503: Fix arithmetic expansion syntax error when using dash
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:49:37
Ramsay Jones [off-list ref] writes:
Junio C Hamano wrote:quoted
POSIX wants shells to support both "N" and "$N" and requires them to yield the same answer to $((N)) and $(($N)), but we should aim for portability in a case like this, especially when the price we pay to do so is so small, i.e. a few extra dollars.Indeedquoted
By the way, on my box, I get this: $ ls l /bin/dash -rwxr-xr-x 1 root root 104024 2008-08-26 02:36 /bin/dash* $ dpkg -l dash | grep '^ii' ii dash 0.5.4-12 POSIX-compliant shell $ /bin/dash -c 'N=20 ; echo $(( N + 3 ))' 23Ah, yes, I should have checked for this... particularly since I now vaguely remember reading that this had been "fixed"... *blush* Sorry about that. For the record, on my system I get: $ ls -l /bin/dash -rwxr-xr-x 1 root root 80500 2007-03-05 06:00 /bin/dash* $ dpkg -l dash | grep '^ii' ii dash 0.5.3-5ubuntu2 The Debian Almquist Shell $ /bin/dash -c 'N=20; echo $(( N + 3 ))' /bin/dash: arith: syntax error: " N + 3 "quoted
I just left it vague by saying "e.g. older dash" in below, but we may want to be more precise in the documentation.I found a bug report: http://bugs.launchpad.net/ubuntu/+source/dash/+bug/92189 which had a post against it which implied that this was fixed in version 0.5.4-3. I went over to packages.debian.org to read the ChangeLog for this version, but I could not conclude anything from that text. :( Do we need to be more precise? Should I re-work the commit message and re-submit?
I don't think so; we now know that dash 0.5.3 or older may have this problem and that is clear enough for our purpose. Thanks.