From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9639 invoked from network); 3 Apr 2001 08:16:45 -0000 Received: from sunsite.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 3 Apr 2001 08:16:45 -0000 Received: (qmail 23714 invoked by alias); 3 Apr 2001 08:16:38 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 13891 Received: (qmail 23701 invoked from network); 3 Apr 2001 08:16:37 -0000 Date: Tue, 3 Apr 2001 10:16:36 +0200 (MET DST) Message-Id: <200104030816.KAA12908@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-workers@sunsite.dk In-reply-to: "Bart Schaefer"'s message of Mon, 2 Apr 2001 17:01:53 +0000 Subject: Re: [zsh 4.0.1-pre-2 bug] named directories disappear [ moved to -workers ] Bart Schaefer wrote: > On Apr 2, 4:48pm, Vincent Lefevre wrote: > } Subject: [zsh 4.0.1-pre-2 bug] named directories disappear > } > } The named directory ~out was defined, but it has disappeared: > } > } greux:~> echo ~out > } zsh: no such user or named directory: out > > bug () { > hash -d out=$HOME > echo ~out > local out > out=(oops) > ( echo ~out ) > : Without the subshell above, this line is never reached > } > > The local variable "out" is used by _pids, so that named directory will be > stomped whenever you complete process IDs. > > On the other hand, if you actually set the global variable "out": > > unbug () { > out=$HOME > bug > echo ~out > } > > The named directory still gets stomped, but is automatically restored any > time you refer to it. That's caused by adduserdir() in utils.c. The test in utils.c:533 succeeds when the local variable is set and then the namedir-entry is removed. I'm not sure how we should solve this. Maybe just make `hash -d x=...' set the parameter `x', too? Once one has done the above, one can't set $x anymore anyway. Or maybe the other way round? Use a flag in nameddirtab entries that says that the entry was added with `hash -d ...' and don't change or remove such entries when the corresponding parameter is modified? Bye Sven -- Sven Wischnowsky wischnow@informatik.hu-berlin.de