Kacper Kornet <draenog@xxxxxxxxxxxxx> writes: > In bash and some other shells the script: > > x=2; unset a; echo "${a:-'$x'}" > > prints '2'. However ksh shell prints $x. The quoting is added to > reproduce bash behaviour. What I happen to have in /usr/bin/ksh $ /usr/bin/ksh --version version sh (AT&T Research) 93t+ 2009-05-01 does not seem to have this issue. Whose ksh is this? It is broken. POSIX "2.6.2 Parameter Expansion" [*1*] says in ${parameter<op>word}, "word shall be subjected to tilde expansion, parameter expansion, command substitution, and arithmetic expansion", when "a value of word is needed" based on the state of parameter. I am not opposed to the change, but because it is not "change to more general one" but "work around a bug in <this implementation of ksh>", and I would like to know what to fill in the blank when I rewrite the proposed commit log message. > Signed-off-by: Kacper Kornet <draenog@xxxxxxxxxxxxx> > --- > t/t1506-rev-parse-diagnosis.sh | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/t/t1506-rev-parse-diagnosis.sh b/t/t1506-rev-parse-diagnosis.sh > index 4a6396f..bad09f9 100755 > --- a/t/t1506-rev-parse-diagnosis.sh > +++ b/t/t1506-rev-parse-diagnosis.sh > @@ -8,8 +8,8 @@ exec </dev/null > > test_did_you_mean () > { > - printf "fatal: Path '$2$3' $4, but not ${5:-'$3'}.\n" >expected && > - printf "Did you mean '$1:$2$3'${2:+ aka '$1:./$3'}?\n" >>expected && > + printf "fatal: Path '$2$3' $4, but not ${5:-\'$3\'}.\n" >expected && > + printf "Did you mean '$1:$2$3'${2:+ aka \'$1:./$3\'}?\n" >>expected && > test_cmp expected error > } > > -- > 1.7.5 [Reference] *1* http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_02 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html