Zsh Mailing List Archive
Messages sorted by:
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: <email@example.com>
- List-help: <mailto:firstname.lastname@example.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:email@example.com>
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
- References: <CGME20160928140702eucas1p295fe6131e7ec88107a118fa9bbcbec7e@eucas1p2.samsung.com> <CAMBEdXZnonDUZbrfWS4vQUo+rx+M9dEarx1JeCWEwTMkaOA0Jw@mail.gmail.com> <firstname.lastname@example.org>
On Wed, Sep 28, 2016 at 5:04 PM, Peter Stephenson
> 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
> 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.
Messages sorted by: