On Wed, 15 Oct 2014, Stephane Chazelas wrote:

> $ mksh -c 'IFS=; x=abc; printf "<%s>\n" ${x#$*}' x a b | sed -n l
> <\a\300a>$
> <abc>$

Interesting… but all shells diverge on this one.

tglase@tglase:~ $ bash -c 'IFS=; x=abc; printf "<%s>\n" ${x#$*}' x a b | sed -n 
l
<abc>$
tglase@tglase:~ $ dash -c 'IFS=; x=abc; printf "<%s>\n" ${x#$*}' x a b | sed -n 
l
<a>$
<abc>$
tglase@tglase:~ $ ksh93 -c 'IFS=; x=abc; printf "<%s>\n" ${x#$*}' x a b | sed 
-n l
<c>$
tglase@tglase:~ $ mksh -c 'IFS=; x=abc; printf "<%s>\n" ${x#$*}' x a b | sed -n 
l
<\a\300a>$
<abc>$
tglase@tglase:~ $ pdksh-5.2.14 -c 'IFS=; x=abc; printf "<%s>\n" ${x#$*}' x a b 
| sed -n l
<abc>$

Makes you wonder if ksh93 gets it right, or if bash/pdksh do.
But I agree that mksh’s output is just as broken as dash’s here.

> POSIX requires word splitting be performed upon arithmetic
> expansion.  Yes, that's stupid, even more stupid than the way
> $*/$@ are handled in ksh, but that's the way it is.
[…]
> But not mksh (and I'd praise it for doing the right thing here).
>
> $ mksh -c 'IFS=2; echo $((11*11))'
> 121

I’d praise it too, except, your mksh is too old. I was notified
of this POSIX requirement being unearthed, and changed the shell
to comply. (The requirement to parse $((010)) as 8 is worse IMO,
and only done if “set -o posix”.)

tglase@tglase:~ $ mksh -c 'IFS=2; echo $((11*11))'
1 1
tglase@tglase:~ $ mksh -c 'print $KSH_VERSION'
@(#)MIRBSD KSH R50 2014/10/07

Bugfixes to the shell to adhere more strictly to POSIX are frequent.
But this should have been in R50 already.

bye,
//mirabilos
-- 
Sometimes they [people] care too much: pretty printers [and syntax highligh-
ting, d.A.] mechanically produce pretty output that accentuates irrelevant
detail in the program, which is as sensible as putting all the prepositions
in English text in bold font.   -- Rob Pike in "Notes on Programming in C"


--
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
https://lists.debian.org/alpine.deb.2.11.1410151614380.30...@tglase.lan.tarent.de

Reply via email to