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

On Sat, Jun 25, 2016 at 6:28 PM, Daniel Shahaf <[email-masked]> wrote:
> 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?

That sounds pretty pointless, you would still break existing scripts,
and make everyone have to versioncheck to see if they have to enable
an option or not.

-- 
Mikael Magnusson