ange-ftp

;;; Usage:

Some of the common GNU Emacs file-handling operations have been made
FTP-smart.  If one of these routines is given a filename that matches
'/user@host:name' then it will spawn an FTP process connecting to machine
'host' as account 'user' and perform its operation on the file 'name'.

For example: if find-file is given a filename of:

  /ange@anorman:/tmp/notes

then ange-ftp spawns an FTP process, connect to the host 'anorman' as
user 'ange', get the file '/tmp/notes' and pop up a buffer containing the
contents of that file as if it were on the local filesystem.  If ange-ftp
needs a password to connect then it reads one in the echo area.

;;; Extended filename syntax:

The default extended filename syntax is '/user@host:name', where the
'user@' part may be omitted.  This syntax can be customised to a certain
extent by changing ange-ftp-name-format.  There are limitations.

If the user part is omitted then ange-ftp generates a default user
instead whose value depends on the variable ange-ftp-default-user.

;;; Passwords:

A password is required for each host/user pair.  Ange-ftp reads passwords
as needed.  You can also specify a password with ange-ftp-set-passwd, or
in a *valid* ~/.netrc file.

;;; Passwords for user "anonymous":

Passwords for the user "anonymous" (or "ftp") are handled
specially.  The variable `ange-ftp-generate-anonymous-password'
controls what happens: if the value of this variable is a string,
then this is used as the password; if non-nil (the default), then
the value of `user-mail-address' is used; if nil then the user
is prompted for a password as normal.