The items with a question mark are questionable. I'm not sure whether they
are really needed. If you think it is a good feature do it yourself :) or
at least tell me what you think. Items marked with - are hard to implement
currently; some need other work to be done. Items marked with + are partially
implemented.


?* save command history (to different files for diff hosts?)

?* document variables in on-line help

 * mirror --config <file.cf>

?* a way to not preserve timestamps.

?* eval -f "foo $1 $2; ls $@" a1 a2 a3

 * update process title
 * at-exit-bg

 * implement Queueing in FileAccess. fa->AddQueue(new FAQueueOp(args)).
   (Done()==true when queue is empty)
   This way ARRAY_* can be obsoleted.

 * there are many interesting protocols: smb, fsp, imap, irc, ...

 * put -n (only if newer) Maybe it would be better to add a command to compare
   times?

 * http: ls -a to see all links, even off-site.
 * mirror: --log=file write actions to file, --script=file prepare script of
   actions to be done.

 * `local' (or `reverse') command to swap local/remote, e.g.
      mirror -R = local mirror
      put = local get
   of course, implement commands using two sessions where possible.
   ?? then proto-file will not be a module, that is it will be always loaded.

 * mirror: add more settings.

 * more intelligently squeeze file name in status line.

 * parallel get's in mget
+* make a command get1 to get single file with extra options.
   implement ranges properly.

 * tail command

?* ability to bind source address of sockets. (for those with several
   interfaces)
     This needs to handle both ipv4 and ipv6 addresses, but probably only
   numeric forms, since lookups are time-consuming and can give several
   addresses.
     The source address family must match that of destination address, so
   probably several settings are necessary, e.g. net:source-address-ipv4 and
   net:source-address-ipv6. Or a closure can be used.
     Maybe it is better to specify interface instead of address, then address
   family can be used to get proper address off the interface. (?)

 * make a class FileAccessLocation (class url?)

 * mirror --remove-first

 * job suspend/resume.

 * motd. if it is not yet known, connect/login and get it. (use class Buffer).

 * use NDIR (from RFC1127) in FtpListInfo, when long list cannot be parsed.

 * optimize help text, introduce a phrase separator for separate translations.

 * a setting to make commands quiet (cmd:quiet? or cmd:verbose with int value)

 * redirect error messages
 * stdout/stderr analogues, use class Buffer.

 * remember user-specified URL path from open/cd.
 * flag to mark cwd as a file, not a directory. (for http).

 * ssl certificates.
 * sftp protocol.
