Subject: Re: csh pushd
To: None <tech-userlevel@netbsd.org>
From: Christos Zoulas <christos@zoulas.com>
List: tech-userlevel
Date: 04/19/2004 12:04:11
In article <20040417170638.GB13247@netmeister.org>,
Jan Schaumann <jschauma@netmeister.org> wrote:
>-=-=-=-=-=-
>
>Hi,
>
>I just noticed two problems in the csh's popd behaviour:
>
>The manual page says
>
>           pushd
>           pushd name
>           pushd n
>
>	With a numeric argument, pushd rotates the n'th argument of
>	the directory stack around to be the top element and
>	changes to it.
>
>This is not quite accurate.  The correct syntax is 'pushd +n'.
>Secondly, if n is 0, csh treats it as a director name.  Even though
>'pushd +0' is a no-op, I believe it should not try to interpret '+0' as
>a directory.  Especially, since directories named '+n' (for n != 0) need
>to be escaped if they are to be used as names rather than number.  (Ie
>to push the directory named '+1' on the stack, you'd have to do 'pushd
>\+1' - the same should hold for '+0')
>
>Am I correct with this?

Yes, but historically this is how csh has behaved. I.e. +0 was interpreted
as a directory. I don't think it matters.

christos