Dear Nelson,
On Fri, 15 Jan 1999 you wrote:
I really think it'd be good if emacs standardized on using URLs
to
specify things to load that are outside the filesystem. URLs are a
nice, standard syntax for specifying a method and a location: it
solves exactly the problem we are discussing here.
There was a great deal of discussion of using the URL syntax for
remote filenames accessed by EfS back when EFS was developed. The
issue was whether we should stick to the ange-ftp syntax or move EFS
to the URL syntax, which had just been introduced. After much debate,
it was decided to stick to the the ange-ftp syntax because the URL
syntax is not well suited to editing remote files. If memory serves
me right, at the time, the Internet Engineering Draft that defined the
URL syntax allowed for no way to specify the username that you wished
to use to access the remote file. As well, it had no concept of
remote relative paths. i.e. no analogue of /sandy@foobar:xxx.tex
meaning the file xxx.tex in my FTP home on foobar. This makes it very
clumsy for the purpose of doing actual work on a remote machine. The
URL syntax was really designed for the purpose of read access to
remote resources, via the web, etc. EFS was designed for the purpose
of doing editing on remote machines. Although, many people use it as
an anonymous FTP interface (and it does do the job), that is not what
it is optimized for.
While I'm spouting history, this is also why EFS has never supported
local caching of files like netscape. Code to do caching is easy to
write for read access only. For write access, it's more complicated.
This coupled with the fact that still many many FTP servers out there
cannot be counted on the follow RFC 959 (making it hard to get
reliable information about the remote file system) meant that I never
really got caching code to work reliably in real world use.
How did emacs work under Apollo, where // in a filename meant
something special to the OS?
BTW, if you use EFS to access a remote apollo, it has code to make
sure that the // will not be short circuited. This is part of the
reason why EFS overloads expand-file-name.
...Sandy