Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!husc6!cmcl2!brl-adm!brl-smoke!gwyn
From: gwyn@brl-smoke.ARPA (Doug Gwyn )
Newsgroups: comp.unix.wizards
Subject: Re: .. not considered as a botch
Message-ID: <6082@brl-smoke.ARPA>
Date: Tue, 7-Jul-87 17:25:38 EDT
Article-I.D.: brl-smok.6082
Posted: Tue Jul  7 17:25:38 1987
Date-Received: Fri, 10-Jul-87 06:02:31 EDT
References: <8075@brl-adm.ARPA> <6037@brl-smoke.ARPA> <13640@mordor.s1.gov> <6054@brl-smoke.ARPA> <14336@mordor.s1.gov>
Reply-To: gwyn@brl.arpa (Doug Gwyn (VLD/VMB) )
Organization: Ballistic Research Lab (BRL), APG, MD.
Lines: 28

In article <14336@mordor.s1.gov> jdb@mordor.UUCP (John Bruner) writes:
>If the semantics of ".." are to be changed, the proper place for
>the change is the kernel, not in some (but, inevitably, not all)
>user-level programs.

That is quite correct.  My point is that the disagreement in semantics
(caused by the shells having special .. code) originated when people
found that the kernel behavior posed a practical problem at the user
level. This would argue that it is not appropriate at the application
program, i.e. system call, level either.  Indeed, Korn's proposal was
to adapt kernel handling of .. when symlinks are added to UNIX System
V (note that this is different from "changing the current semantics",
since that situation doesn't currently arise), in which case the
special stuff in shells could be removed.

I haven't found much problem in practice brought on by the semantic
discrepancy, since (as I noted earlier) one has to be thinking rather
weirdly to set up directory symlinks in such a way that ../foo pathnames
fed to an editor etc. would be affected by the semantic difference.
The usual human/program use of such pathnames is to reach a different
node in the tree when the absolute root name is not known or is
relatively inconvenient to specify.  Other nodes are usually accessed
by full absolute pathnames (irrespective of whether symlinks are
traversed in those pathnames).  Under normal civilized use of symlinks,
both name specification modes don't .. through a symlinked point.

It's probably worth noting that more radical reorganizations of the
UNIX notion of directory-based filesystems could moot this whole issue.