Gentoo Archives: gentoo-dev

From: Dan Douglas <ormaaj@×××××.com>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] lastpipe
Date: Fri, 25 May 2012 20:03:54
Message-Id: 6389596.CXSmRX32zB@smorgbox
As many are probably aware, Bash 4.2 adds a shopt feature to enable not 
running the last command of a pipeline in a subshell (POSIX leaves it up to 
the shell to decide). Aside from being a slight optimization, it allows some 
syntactic convenience such as reduced reliance upon process substitutions and 
redundant command grouping workarounds. I believe it is generally considered 
that the lastpipe behavior is superior. zsh and ksh do this by default, while 
mksh, bash, and dash do not. Only Bash has it as a configurable option.

If it were made a policy now that ebuilds and eclasses cannot depend upon the 
subshell (for example, to set temporary positional parameters or isolate 
temporary variables), then maybe someday in the distant future this could be 
made the default, and in the meantime, an option for those with new enough 
shells. Since dependence on the subshell isn't very common, I think this 
should be feasible, and of course as a workaround all that's required is to 
wrap any such commands in parentheses.

Any opinions?
Dan Douglas


File name MIME type
signature.asc application/pgp-signature


Subject Author
Re: [gentoo-dev] lastpipe Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>