From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9647 invoked from network); 10 May 2000 17:35:27 -0000 Received: from sunsite.auc.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 10 May 2000 17:35:27 -0000 Received: (qmail 1536 invoked by alias); 10 May 2000 17:35:21 -0000 Mailing-List: contact zsh-workers-help@sunsite.auc.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 11311 Received: (qmail 1503 invoked from network); 10 May 2000 17:35:19 -0000 From: "Bart Schaefer" Message-Id: <1000510173503.ZM10690@candle.brasslantern.com> Date: Wed, 10 May 2000 17:35:03 +0000 In-Reply-To: <1000510155924.ZM10248@candle.brasslantern.com> Comments: In reply to "Bart Schaefer" "`typeset -U' and exported tied parameters" (May 10, 3:59pm) References: <1000510155924.ZM10248@candle.brasslantern.com> X-Mailer: Z-Mail (5.0.0 30July97) To: zsh-workers@sunsite.auc.dk Subject: FPATH non-bug (Re: `typeset -U' and exported tied parameters) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii On May 10, 3:59pm, Bart Schaefer wrote: } Subject: `typeset -U' and exported tied parameters } } This has something to do with the FPATH problem (11281 et al.), but I still } don't know precisely what. [...] } Note that although `typeset -U' has changed both the array and the tied } parameter, it has failed to update the exported copy of the tied parameter. And that may very well, in fact, be the entire bug. I now think the rest was just pilot error on my part. Unlike MODULE_PATH, which zsh never imports from the environment, FPATH can be imported. I didn't realize that; `autoload -U' was failing in an older version of zsh that was found first in my $path, which I believed was 3.1.6-whatever because the value of $fpath [which I assumed was the same as that created in setupvals()] pointed at the newer functions. The older version of zsh then changed fpath, which changed the exported FPATH, which was then imported again when my .zprofile detected the old zsh and exec'd the newer version. At that point the xtrace output of the two branches of the `if (autoload -U)' became indistinguishable[*], which contributed to my delusion that the new zsh was taking the wrong branch. [*] They wouldn't have been indistinguishable if I'd moved my setting of PS4 into .zshenv, but like an idiot I avoided that because the new value won't work in the older zsh. So I apologize for bothering you all with my stupidity; at least maybe we can get `typeset -U' fixed (it's broken in 3.0.7 as well, BTW). -- Bart Schaefer Brass Lantern Enterprises http://www.well.com/user/barts http://www.brasslantern.com