Subject: bug#7617: 24.0.50; `expand-file-name': removal of slashes

From: Eli Zaretskii <[email-masked]>
Date: Sun, 12 Dec 2010 21:33:32 +0200

> From: "Drew Adams" <[email-masked]>
> Cc: <[email-masked]>
> Date: Sun, 12 Dec 2010 10:03:08 -0800
> 
> > Please explain why you consider this a bug.  foo//bar is at best
> > equivalent to foo/bar,
> 
> In what way is that _ever_ equivalent?  Please show the equivalence for any of
> the OS's that Emacs supports.

On Unix and GNU/Linux -- always, in the sense that file-related system
calls will treat them the same.  On Windows -- sometimes, depending on
the implementation of the standard C library.

> In interactive use, `...//abc...' is treated as just `/abc...' by Emacs.  The
> prefix `.../' is ignored until you hit `RET'.  And then the prefix is dropped
> when you enter the file name (`RET') - but only then.  And that's appropriate.
> Other than when you actually hit `RET', the prefix should not be removed but
> simply ignored.

That's right, but I was talking about non-interactive uses.  I believe
in interactive use, Emacs still does what you (and I) expect.

> Then please create a separate primitive the does just that.

Feel free to file a separate feature request for that.

> Currently, there is no way to maintain the integrity of the user's input if that
> input is passed through `expand-file-name' to do what the doc says `expand*'
> does.

If all you need is ignore everything before the double slash, there
are easier ways than asking to change a primitive.