From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: zsh-workers-request@euclid.skiles.gatech.edu Received: from euclid.skiles.gatech.edu (list@euclid.skiles.gatech.edu [130.207.146.50]) by coral.primenet.com.au (8.7.5/8.7.3) with ESMTP id JAA04917 for ; Thu, 17 Oct 1996 09:34:36 +1000 (EST) Received: (from list@localhost) by euclid.skiles.gatech.edu (8.7.3/8.7.3) id TAA00443; Wed, 16 Oct 1996 19:29:55 -0400 (EDT) Resent-Date: Wed, 16 Oct 1996 19:29:55 -0400 (EDT) From: Zoltan Hidvegi Message-Id: <199610162228.AAA00459@hzoli.ppp.cs.elte.hu> Subject: Re: pushd To: zefram@dcs.warwick.ac.uk (Zefram) Date: Thu, 17 Oct 1996 00:28:22 +0200 (MET DST) Cc: schaefer@nbn.com, zsh-workers@math.gatech.edu In-Reply-To: <5016.199610161810@stone.dcs.warwick.ac.uk> from Zefram at "Oct 16, 96 07:10:53 pm" X-Mailer: ELM [version 2.4ME+ PL17 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Resent-Message-ID: <"3etrA.0.r6.o_MPo"@euclid> Resent-From: zsh-workers@math.gatech.edu X-Mailing-List: archive/latest/2249 X-Loop: zsh-workers@math.gatech.edu Precedence: list Resent-Sender: zsh-workers-request@math.gatech.edu > Oh, what was the reasoning behind requiring "(UID=123; foo)" where > "UID=123 foo" used to work? I liked the exporting syntax. It was the simplest way to handle special parameters. If you say parameter=value command the given environment variable is always set to value even if it is a special parameter or integer or anything. So now UID=hzoli printenv UID says hzoli. In case of UID it may net be the desired behaviour but in some other cases this makes things simpler. I also liked the exporting syntax but I often tried to use that to a zsh function or to a builtin which caused irreversibly lost privileges. Offtopic but note that USERNAME is much more secure as it now executes initgroups() as well similarily to su username (this is new, zsh-3.0.0 does not do that). A somewhat related question: % ksh $ readonly foo=foo $ foo=bar printenv foo ksh: foo: is read only % zsh % readonly foo=foo % foo=bar printenv foo bar The current bash version behaves similarily but I talked to the bash maintainer and he thinks that the ksh behaviour is the correct one and bash-2.0 will now allow this. Similar question: % ksh $ typeset -i i=12 $ i=foo printenv i 0 Zsh prints foo here. That's why UID=798 command does not work. Zoltan