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.


?* 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.

 * `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.

 * tail command

 * make a class FileAccessLocation (class url?)

 * 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.
?* help in external files

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

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

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

 * mirror option to check an alternative directory(ies) for existing files.
   (overlay filesystem replacement?)

 * APPE support.

 * cmd:parallel for scripting - execute several commands in parallel
   (change CmdExec::Done to return true when waiting_num<cmd:parallel)

 * show transfer rate in mirror done message.

 * fix closing sftp connection with timeout after entering a command.
