Next: Concept Index Prev: Getting help Up: Top

Bugs and Wish List

   Here is a list of the known bugs in ange-ftp:

   * Be warned that files created by using ange-ftp will take account
     of the umask of the ftp daemon process rather than the umask of
     the creating user.  This is particulary important when logging in
     as the root user.  The way that I tighten up the ftp daemon's
     umask under HP-UX is to make sure that the umask is changed to 027
     before I spawn `/etc/inetd'.  I suspect that there is something
     similar on other systems.

   * Some combinations of FTP clients and servers break and get out of
     sync when asked to list a non-existent directory.  Some of the
     `ai.mit.edu' machines cause this problem for some FTP clients.

   * Ange-ftp does not check to make sure that when creating a new file,
     you provide a valid filename for the remote operating system.  If
     you do not, then the remote FTP server will most likely translate
     your filename in some way. This may cause ange-ftp to get confused
     about what exactly is the name of the file. The most common causes
     of this are using lower case filenames on systems which support
     only upper case, and using filenames which are too long.

   * Null (blank) passwords confuse both ange-ftp and some FTP daemons.

   * ange-ftp likes to use pty's to talk to its FTP processes. If GNU
     Emacs creates a FTP process that only talks via pipes (for
     example, if `process-connection-type' is `nil') then ange-ftp
     won't be getting the information it requires at the time that it
     wants it since pipes flush at different times to pty's. One
     disgusting way around this problem is to talk to the FTP process
     via rlogin which does the `right' things with pty's.

   * You need to quote `$' characters in filenames by using `$$'
     instead. This isn't actually a bug, but rather an Emacs convention
     (which allows environment variables in filenames.) What *is* an bug
     is that when filenames containing `$''s are inserted in the
     minibuffer as defaults, the `$' is not converted into the `$$'
     quoted form -- hopefully this will be fixed in version 19. It
     doesn't usually bother Unix users, but VMS filenames often contain
     `$'.  Incidentally, Sebastian Kremer's `gmhist' package (which
     comes with the Tree Dired distribution: Note: Obtaining source
     code) fixes this bug.

   * Some hosts (notably ULTRIX) mark symbolic links with a `@'
     character in an `ls -F' listing. The variable
     `dired-ls-F-marks-symlinks' when set to `t' (the default) alerts
     Dired to this behaviour and everything is OK. Enabling this
     behaviour by default is not generally a problem on hosts which
     does *not* mark symlinks in this way, but if you have
     `dired-ls-F-marks-symlinks' set to `t' while accessing a such a
     host, then Dired will think that a symbolic link whose name ends
     in `@' (a strange thing indeed!) is a regular file. The fix (other
     than setting `dired-ls-F-marks-symlinks to' `nil', a bad idea if
     you regularly access hosts who mark symbolic links) is to remove
     `F' from the `ls' listing switches (use `C-u s' in the Dired

     Another problem with symbolic links arises with hosts who do not
     show the linked file with `->' in the listing, meaning that Dired
     will not recognize the symlink. The solution here is to get a
     decent `ls' program on that machine.

   * No classic dired support for non-UNIX systems. Tree dired was

   * If a directory listing is attempted for an empty directory on (at
     least some) VMS hosts, an ftp error is given. This is really an
     ftp bug, and I don't know how to get ange-ftp work to around it.

   * Bombs on filenames that start with a space. Deals well with
     filenames containing spaces, but beware that the remote ftpd may
     not like them much.

   * Doesn't autosave. Maybe someone could implement auto-saving on the
     local host ...

   * The code to do compression of files over ftp is not as careful as
     it should be. It deletes the old remote version of the file, before
     actually checking if the local to remote transfer of the
     compressed file succeeds. Of course to delete the original version
     of the file after transferring the compressed version back is also
     dangerous, because some OS's have severe restrictions on the
     length of filenames, and when the compressed version is copied
     back the `-Z' or `.Z' may be truncated. Then, ange-ftp would
     delete the only remaining version of the file. Maybe ange-ftp
     should make backups when it compresses files?

   * Remote to remote copying of files on non-Unix machines can be
     risky. Depending on the variable
     `ange-ftp-binary-file-name-regexp', ange-ftp will use binary mode
     for the copy. Between systems of different architecture, this still
     may not be enough to guarantee the integrity of binary files.
     Binary file transfers from VMS machines are particularly

   * Some CMS machines do not assign a default minidisk when you ftp
     them as anonymous. It is then necessary to guess a valid minidisk
     name, and `cd' to it.  This is (understandably) beyond ange-ftp;
     however Sebastian Kremer says:
          It is beyond ange-ftp, but if the `init' ftp macro were
          supported, one could write the appropriate `cd' command into
          that.  I used to do that on a CMS machine I had an account on
          because I never could remember the name of the minidisk.  I
          think I even had to give an `account' command, too.
          Supporting `init' would be a very handy thing.

          Hmm, why start `ftp(1)' with the `-n' flag at all?

   * For CMS support, we send too many `cd''s. Since `cd''s are cheap,
     I haven't worried about this too much. Eventually, we should have
     some caching of the current minidisk.

   If you find any bugs or problems with this package, *please* e-mail
the author. Ideas and constructive comments are especially welcome. So
are any enhancements to ange-ftp, preferably debugged and documented.
Also welcome are any typo fixes, corrections or additions to this
manual. And just so you don't forget, here's Ange's address again:


automatically generated by info2www