Zsh Mailing List Archive
Messages sorted by:
Re: Next release (5.3)
- X-seq: zsh-users 21747
- From: Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx>
- To: zsh-users@xxxxxxx
- Subject: Re: Next release (5.3)
- Date: Tue, 12 Jul 2016 09:40:17 -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=Eq2VyicPWKiJV9fWj7GkKbK5AawdyUuCA8GVBereXtc=; b=sO3PXm5lktDyKNRIXpxvLzEMFyHovhrZxZF5e5E8yVdnzrtt1ytpPs1AiBtaiNAVMB A7XUnIr7tuqbhJeu7cSHHL3j2k3PGIOA0GR/ItbHnhYvJj71xL4VxVPQvsvCvIwsy3n+ 0679Kb+A9LC8WUv9ogS85jUtgT9ZdwGpnOT4+bqgoLuH0CMMmV9mSGLXyMyOtut+nk/f tBmtpHH7WjAFW9LJWihDnuj8eneEkskZLlxVKP/v6gH0Ks0bF8wE7iMTxZkfjWTRH7kw 84usQQ7cwmmwziEwhkIOFWKzQWUvkRFQ0qCgtP9colyhf+LiuaPyyEb7DihNaRXOOK4S 1ekA==
- In-reply-to: <20160712075849.GG1537@isis.sigpipe.cz>
- List-help: <mailto:firstname.lastname@example.org>
- List-id: Zsh Users List <zsh-users.zsh.org>
- List-post: <mailto:email@example.com>
- Mailing-list: contact zsh-users-help@xxxxxxx; run by ezmlm
- References: <20160712075849.GG1537@isis.sigpipe.cz>
On Jul 12, 9:58am, Roman Neuhauser wrote:
} Subject: Re: Next release (5.3)
} I understand the issue is that although zshexpn(1) claims...
} This call is equivalent to `a` unless your system has the realpath
} system call (modern systems do).
} ... this is not the case. Correct? Well, I use it for this
} exact purpose.
Your statement is going to require some clarification. By "exact purpose"
do you mean "as a replacement for realpath"?
The documentation says:
1. resolution of `..' occurs _before_ resolution of symbolic links
2. equivalent to a unless your system has the realpath system call
These are not contraditory but they explicitly do NOT mean that :A
is a replacement for realpath. All that (2) means is :A does NOT
follow symbolic links unless realpath is available to do that work.
You go on to say:
} > [...] "$foo" and "$foo:a" might also denote different
} > files, so why is *that* a useful transformation?
} It's not, and I don't use it.
Per my two points above, on any system that lacks realpath, you DO use
:a implicitly, because :A does not differ from :a when there is no
} > > (1) Daniel's suggested change to :A [care to offer an opinion?]
} > I'd be vaguely inclined to make sure it does what the doc currently
} > says and leave it at that.
} I'd prefer (it would *fix* my scripts) this to happen.
You'd prefer what? :A presently DOES what the doc currently says.
PWS's comment in effect means he's inclined to change nothing.
If what you mean is that you'd prefer that :A is a replacement for
realpath with all the same semantics as realpath, then you're now
requesting something that wasn't previously being discussed.
The present situation is:
1. :a performs a string-manipulation on the path to remove any
relative path segments.
2. :A does (1) and then calls realpath on the result.
This matches the documentation.
Daniel is arguing that (1) is essentially useless and calling realpath
after that may give a different result than realpath on the original
path string. His suggestion is:
1. :a is as before
2. :A calls realpath, and does (1) only if there is no realpath
(It's unclear to me whether there would be any reason to do (1) AFTER
The emerging consensus seems to be for:
1. :a is as before
2. :A is as before
3. new modifier calls realpath and does (1) if no realpath
Is there one of those three cases with which you agree, or are you in
fact asking for zsh to re-implement realpath internally?
Does the re-statement above change anyone else's opinion about which
alternative should be chosen? Please note that I don't think there
is any current zsh developer who is keen to rebuild realpath.
Messages sorted by: