Subject: Re: bug#6339: url-filename => "/c:/some/file.txt"

From: Juanma Barranquero <[email-masked]>
Date: Sat, 24 Sep 2011 10:59:24 +0200

On Sat, Sep 24, 2011 at 05:35, Jason Rumney <[email-masked]> wrote:

> No. That is not an absolute path on most platforms.

The spec says that the PATH part is an absolute path. You can argue
that, in POSIX, "some/file.txt" is an absolute path, because all PATH
parts of file: URIs must be understood as such (and so, have an
implicit / at the front), or you can argue that these paths should be
propertly rooted (and so, the correct way for a POSIX file: reference
is file:////some.file.txt). But no amount of defining or redefining
"absolute" is going to change the fact that the third slash in
file:/// is a separator, and no part of the PATH, according to the
spec.

> The absolute path on
> POSIX platforms would be /c:/some/file.txt, which is consistant with
> other URL schemes where the initial / forms part of the PATH portion of
> the URL.

I don't know what other URLs schemes say, but certainly RFC 1738 says:

3.3. HTTP

   The HTTP URL scheme is used to designate Internet resources
   accessible using HTTP (HyperText Transfer Protocol).

   The HTTP protocol is specified elsewhere. This specification only
   describes the syntax of HTTP URLs.

   An HTTP URL takes the form:

      http://<host>:<port>/<path>?<searchpart>

   where <host> and <port> are as described in Section 3.1. If :<port>
   is omitted, the port defaults to 80.  No user name or password is
   allowed.  <path> is an HTTP selector, and <searchpart> is a query
   string. The <path> is optional, as is the <searchpart> and its
   preceding "?". If neither <path> nor <searchpart> is present, the "/"
   may also be omitted.

   Within the <path> and <searchpart> components, "/", ";", "?" are
   reserved.  The "/" character may be used within HTTP to designate a
   hierarchical structure.

so it's no different of "file:". The slash is a separator.

If people doesn''t want to change the way Emacs works, and prefer to
add ad hoc fixes for Windows URIs, I can do nothing against it. It's
ugly, but such is life. But let's accept that using that slash is just
a shortcut because it conveniently happens to coincide with the POSIX
slash separator, not because it is really part of the path.

    Juanma