Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: a bug of zsh
- X-seq: zsh-workers 39487
- From: Mikael Magnusson <mikachu@xxxxxxxxx>
- To: Peter Stephenson <p.stephenson@xxxxxxxxxxx>
- Subject: Re: a bug of zsh
- Date: Wed, 28 Sep 2016 17:28:08 +0200
- Cc: zsh workers <zsh-workers@xxxxxxx>
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=SZMCcH/Lb+wyhHjGlaUwXGO7Izv9w6Ho+ZY8tyb2GWQ=; b=A6vJqck8IbExwlNLGF5zXiZckP2FDCoGHKGRCfGkwxD7fO5yVjx6HXct6tg91qWliy +NTtzoFbA4r8DDoUkF3pKOY8I8orVbK5gwcI+g1LLfi9fZzFjFbsrcbbKkYtE6OolTU4 UgE1U5xNxCvSc+EhLNQiMnS0CXccMF+aFJDS643PTN2+DaD00NPND9UifBCceVn1iFJ+ Km317NUbw2NA3o6v4bZzbwMX2LUkFluDTmk/xzWeaRMgJHn3E5NbNSBw87aW0R6qa3dQ xgRwUWtCn65hBGG3uTCicvbph5usTprDPhxTRFN0Ec02hIbPR2Mkus0jzMSbZnDEOi5f t6Rg==
- In-reply-to: <20160928160419.4fab20f5@pwslap01u.europe.root.pri>
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
- References: <CGME20160928140702eucas1p295fe6131e7ec88107a118fa9bbcbec7e@eucas1p2.samsung.com> <CAMBEdXZnonDUZbrfWS4vQUo+rx+M9dEarx1JeCWEwTMkaOA0Jw@mail.gmail.com> <20160928160419.4fab20f5@pwslap01u.europe.root.pri>
On Wed, Sep 28, 2016 at 5:04 PM, Peter Stephenson
<p.stephenson@xxxxxxxxxxx> wrote:
> On Wed, 28 Sep 2016 22:06:25 +0800
> ZiHan Zheng <zhengzihan1996@xxxxxxxxx> wrote:
>> to reproduce this bug:
>>
>> cd ~
>> mkdir aaa
>> cd aaa
>> rm ~/aaa -r
>> cd .
>>
>> then current working directory is just "." and you can do nothing until cd
>> into an absolute path.
>
> Hmmm... I can see you're point, I think --- before you do "cd .", the
> shell will happily use the logical directory structure to e.g. "cd ..",
> whereas after you do "cd ." you're stuck without something like cd
> $PWD/..
>
> It would certainly be good if there's some way of aborting the "cd ."
> consistently so we both don't actually change directory and don't lose
> state. I think the problem may be once we find we can't cd any more we
> throw up our hands in horror and decide we don't know where we are,
> which is certainly a bit feeble, particularly since there's no
> outward indication of a problem until you find you're trapped.
>
> Is there some reason we can't just stat the directory first and bail
> out early? I know it's prohibitively expensive testing glob results
> with stat, but this is a rather different case.
>
> However, the cd logic is already more complicated than you would
> probably believe, and changing to a directory that no longer exists
> isn't going to have good effects, so I'm not sure how much sleep we're
> (well, I'm) actually going to lose over this, to be brutally honest.
FWIW this is only a problem if you use nochasedots/nochaselinks, which
while it is the default, is overall a very confusing option to have
set and hopefully most people disable it. In either case you can
always do cd -P .. to get out as well. I feel like it should be
possible to get the -L branch to detect this state and fall back to a
-P .. but honestly I'm not sure if the current state is unintended for
-L or not.
--
Mikael Magnusson
Messages sorted by:
Reverse Date,
Date,
Thread,
Author