Subject: Re: [PATCH v2 2/3] Fix the ':A' word modifier on paths with '..' components.
From: Daniel Shahaf <[email-masked]>
To: Mikael Magnusson <[email-masked]>
Cc: zsh workers <[email-masked]>
Date: Sat, 25 Jun 2016 16:28:07 +0000
List-Id: Zsh Workers List <zsh-workers.zsh.org>

Mikael Magnusson wrote on Tue, Jun 21, 2016 at 05:08:16 +0200:
> On Tue, Jun 21, 2016 at 3:53 AM, Daniel Shahaf <[email-masked]> wrote:
> > The fix is to stop calling chabspath() at the top of chrealpath().
> >
> > Preserve the old behaviour when CHASE_DOTS is set.
> 
> I think this is backwards, cd symlink/.. gets you to the current dir
> if chasedots is unset, and to wherever symlink points' parent
> directory when it is set.

True.

However, I don't want to just flip the condition (change "if isset()" to
"if unset()") since I think the new behaviour (resolving symlinks before
'..' components) should be the default for :A.

So how about adding a new option and having chrealpath() use the new
behaviour if the new option is at its default value, and the old
(':a'-ish) behaviour otherwise?