Zsh Mailing List Archive
Messages sorted by:
Re: [PATCH] New :P history modifier.
- X-seq: zsh-workers 39048
- From: Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxx
- Subject: Re: [PATCH] New :P history modifier.
- Date: Wed, 17 Aug 2016 00:02:40 -0700
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20150623.gappssmtp.com; s=20150623; h=from:message-id:date:in-reply-to:comments:references:to:subject :mime-version; bh=hJYuIQ0egDDcJ4OwneG6IW8pkjI6FYTqUIO+99pjDB0=; b=lZpkusa+P7SALsRT/jMmCAfbKGVVdfSKyKM5IbPtx+Rh3MzCPG+4SzLbl/0HLL+UEb 5NTHJzxbCSnJk0jBupdPK1/JFiDh6tbqnnvshy6mMNBlcfzFg0AqcfHW6I1ht7oqVOpf BimA/w8HS3kz7IRyFe2T3bwkJ5QHuhiVCsCXs7ktFld1YrIGdHxL9x5+EzUdKWDAYsu4 NVLUUe6ynxhQHEzJNQAMFk83h4qSDdltqBfqqUbev8jlcUxf1ljDldUNwE32/IWHXP3h yc7tTR4DwmGmym8Gw8x9Iu82vJzH0LPGc9JsTjhrC9LEHm0isax+2jyNByXOvvQJ9V8N nGqQ==
- 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: <firstname.lastname@example.org>
On Aug 16, 11:54pm, Daniel Shahaf wrote:
The code changes are essentially OK; my only thought is, maybe we
should just remove the dependency on the POSIX realpath() call even
from :A, and use xsymlink() everywhere?
Picking at the docs ...
Given that we went to the trouble of hashing it out, it is probably
worth noting that :a is intended to result in the path to along which
"cd" would change under the default setopts (no_chase_dots), and :A
is meant to result in the physical directory at the end of that path.
} + "a:absolute path, resolve '..' logically"
} + "A:same, then resolve symlinks"
} + "P:realpath, resolve '..' physically"
You should spell out what "same" means, because the two descriptions
may not always appear together. I'm not sure "logical" and "physical"
are the right words here, but "by text replacement" and "by filesystem
reference" seem a bit too verbose, so I don't have a suggestion, just
(Aside: The doc for "cd" doesn't ever describe how it behaves when
CHASE_DOTS is not set; the user is left to infer it from the doc that
explains what happens when CHASE_DOTS is set.)
} +The new word modifier ':P' computes the realpath() of the argument.
} +It is different from the existing ':a' modifier which does not resolve
} +symlinks, and from the existing ':A' modifier which always resolves
If you're going to compare to both :a and :A, symlinks aren't the largest
difference vs. :a -- following ".." is. In fact I'd say following ".."
is more important to the distinction than symlinks are.
} +/before/here/../after to /before/after --- even if /before/here is
} +a symbolic link. It is recommended to review uses of ':A' and, if
} +appropriate, convert them to ':P' as soon as compatibility with 5.2 is
} +no longer a requirement.
So how about e.g.:
The new word modifier ':P' computes the physical path of the argument.
it is different from the existing ':a' modifier which does always
resolves /before/here/../after to /before/after, and differs from the
existing ':A' modifier which resolves symlinks only after here/.. is
removed even when /before/here is itself a symbolic link.
Messages sorted by: