On Wed, Mar 18, 2009 at 10:42 PM, Harald Hanche-Olsen
<address@hidden> wrote:
+ xah lee <address@hidden>:
> in unix-like OSes, double slash is effectively taken to mean root.
> e.g. /foo/bar//baz.el would mean /baz.el
> This convention is somewhat rooted in unixes.
Actually, I believe posix says the exact opposite: Multiple slashes
are equivalent to a single slash, except at the head of the path,
where a double slash may have a different meaning. (On the Apollo
machines of old, running domain/os, a leading double slash indicated
the "network root", so you could specify //hostname/foo/bar to get
/foo/bar on the host named hostname. It seems they took the Sun slogan
"the network is the computer" to its logical conclusion.)
Miles Bader gave a different explanation for emacs's behaviour. It
seems odd to me that an interactive feature (a good one, too) should
influence how path names are interpreted in code, however.
- Harald
PS. On those old Apollos, we changed root's home directory from / to
/. in order to avoid being surprised by programs that constructed
paths as $HOME/foo/bar.