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

Re: Problem w/ ulimit killing compiles on sol 2.4&2.6 ...



"Andrej Borsenkow" wrote:
> >
> >   The only file you can alter which is started with every zsh (unless
> >   you use the -f option) is .zshenv, so this is a good place to
> >   put things you want even if the shell is non-interactive: options for
> >   changing the the syntax, like EXTENDED_GLOB,
> 
> I totally disagree. Anybody doing this will inevitably end up writing
> nonportable zsh scripts, that, when used on other system(s), will not work
> in the best or will have unpredictable side effects in the worst case.

I totally disagree with your total disagreement.  I use zsh from
emacs, and I need to get things like `grep *.(c|cc)(^@)' to work,
which requires extendedglob to be set somewhere (lots of other shell
calls are similar).  The only simple answer (there are plenty of
horribly complex answers --- three personal startup files is quite
enough) is in .zshenv.  I don't want or need a portable environment to
make zsh usable, I want *my* environment.

The only external way of making scripts portable is to use the -f
option.  Even then somebody has messed about with /etc/zshenv, which
happens but which I loathe.  Furthermore, lots of scripts are also
able to work as functions --- zsh was specifically written that way.
There are so many things you can do with zsh that the only safe thing
to do with scripts is make sure you are explicit about which options
are set and which aren't.  Then you're stuck with `emulate -R zsh'.
And if you're religiously into portablity, write ksh scripts and stick
[[ -n $ZSH_VERSION ]] && emulate -R ksh
at the top.

Still, I'll add a warning.

-- 
Peter Stephenson <pws@xxxxxxxxxxxxxxxxx>       Tel: +39 050 844536
WWW:  http://www.ifh.de/~pws/
Dipartimento di Fisica, Via Buonarroti 2, 56127 Pisa, Italy



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