Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Order of field splitting in zsh



On Thu, 16 Jan 1997, Zoltan Hidvegi wrote:

> Andrej Borsenkow wrote:
> > 
> > POSIX.2 defines the following order of expansions in sh:
> > 
> > 1. tilde expansion, parameter expansion, command substitution, arithmetic
> > expansion
> > 2. field splitting (_after_ the above)
> > 3. pathname expansion (globbing)
> > 4. qoute removal.
> > 
> > It seems, that zsh (even if invoked as sh) does field splitting on result
> > of command substitution  _immidiately_ after getting the value. The
> > example is:
> > 
...
> 
> You are right but that can only cause problems when IFS changes in step
> one, and under POSIX it can only happen when it was set to the empty string
> previously.  I checked AT&T ksh and pdksh:
> 
...
> 
> As you see ksh behaves like zsh.  Bash behaves as POSIX requires.  But I do
> not think it is a real problem, and the fix would just complicate the code
> unnecessarily.  Note that both ksh I tested claims POSIX compilance.
> 

There is more simple case:

% ./sh (where sh -> /bin/zsh)
% args $(echo 'a ')$(echo 'b')
                ^ note blank here (or any IFS white space)
1
ab
% /bin/ksh
% args $(echo 'a ')$(echo 'b')
2
a
b
% 

The same with /bin/sh (well, my /bin/sh doesn't understand $(...) but with
`...` it behaves like ksh).

greetings

-------------------------------------------------------------------------
Andrej Borsenkow 		Fax:   +7 (095) 252 01 05
SNI ITS Moscow			Tel:   +7 (095) 252 13 88

NERV:  borsenkow.msk		E-Mail: borsenkow.msk@xxxxxx
-------------------------------------------------------------------------






Messages sorted by: Reverse Date, Date, Thread, Author