In no particular order:

* Mutt doesn't detect when a mailbox has only been opened read-only
  (because, say, another process has it open), so it lets you store
  changes that it can't commit.
  --> just pick up the [READ-ONLY] in the tagged response, set mutt's flag

* ~h searches download the entire folder, setting everything to \Seen in
  the process.
  --> Use SEARCH? or at least try to use .PEEK when doing scans. I've been
      thinking of going to always PEEK anyway, but then you'd have to store
      updates for every message you touched. Maybe a config option?

* No checks are performed on long commands to make sure that they are
  still correct after they've been made to fit in their buffers.
  Tagged message sets can exceed the fixed space we've allocated for
  them in large mailboxes. Time to move to dynamic string allocation,
  at least for these commands.

* Mutt doesn't handle timeouts or dropped connections gracefully. You
  may see occasional segfaults. Solving this cleanly requires some major
  architectural updates. Until that happens, I recommend you keep
  backup copies of messages you're composing from within your editor.

* Sometimes hdr->env seems to be NULL, according to other users' core
  files. I haven't been able to reproduce this, and am not sure how
  to track it down. But it's very naughty indeed.

* Mutt marks your connection for logout as soon as you say quit, even if
  you bail out with ^G later.
  --> This should be fixed by not using imap_set_logout. Instead there
      should be a function which loops through all connections and logs
      out of them one at a time. Multiple connections haven't gotten much
      testing.

* Mutt is uninterruptible during socket calls. We should handle SIGINT.

* Server copy currently doesn't take into account uncommitted changes in
  messages about to be copied. Sync first.
  --> walk tagged or individual message looking for changes, sync those?
      may require further additions to imap_make_msg_set and breaking up
      imap_sync_mailbox, otherwise shouldn't be too bad. Not currently a
      major priority, though - noone's gotten bit by this.

* Have a hard time when the home namespace isn't default "".

* Mutt browses Cyrus IMAP servers poorly, because of Cyrus' feature where
  folders can contain messages *and* subfolders, and because of the 
  namespace problem, which Cyrus uses.

* The mutt_pretty routines don't work well when the delimiter isn't '/'.

Brendan Cully <brendan@kublai.com>
Updated 19991110
