From mboxrd@z Thu Jan 1 00:00:00 1970 Message-Id: <9902050902.AA54909@ibmth.df.unipi.it> To: "Zsh users list" Subject: Re: Problem w/ ulimit killing compiles on sol 2.4&2.6 ... Date: Fri, 05 Feb 1999 10:02:10 +0100 From: Peter Stephenson X-Mailing-List: 2101 "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 Tel: +39 050 844536 WWW: http://www.ifh.de/~pws/ Dipartimento di Fisica, Via Buonarroti 2, 56127 Pisa, Italy