Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Next release (5.3)

On Jul 13, 10:59am, Peter Stephenson wrote:
} Here's a script that's broken by the change.

Here's a question:  Of what significance is the use of :A in this case,
as opposed to :a ?  That is, why use :A at all here?  Can you come up
with an example where :a and :A differ that would still be broken by
the change?

} # No CHASE_*.
} emulate zsh
} # We know :A resolves using the same rules as directory changing,
} # so use that.
} resolved=($file(:A))
} print "\nUsing $file with :A => $resolved"
} cat $resolved

I don't want this discussion to become circular, but don't the comments
there imply that what's desired/intended is for :A to respect CHASE_*?

(That's still different from what Daniel originally suggested, because
he wants the default to act like CHASE_LINKS, but at least it's been
touched upon in the -workers side of this discussion.)

If I were going to re-design this from scratch, I think I'd aim for a
parallel with "cd -L" and "cd -P", and thus

    $var:L	- like current :a, never chase links
    $var:P	- like Daniel's :A, always chase links
    $var:A	- one of the above, depending on CHASE_LINKS

(and never have :a in the first place).  Incidentally, outside of an
actual "cd" there's no point to examining CHASE_DOTS.

Given where we are right now, adding :P and shrugging our shoulders 
about :a and :A seems the most reasonable escape hatch.  Plus adding
a bit to the :A documentation, perhaps.  I suppose we could also make
:L a synonym for :a just for mnemonic.

Messages sorted by: Reverse Date, Date, Thread, Author