I wrote before about this, but now I have some debug output. (As it turns out I had to setq imap-debug before starting gnus to get any output in the *imap-debug* buffer. The startup only generated a million lines -- about 55 MB on disk (once saved) and 110 MB of VM.) I went offline to ensure no mail would be delivered and forwarded a message (it happened to be that day's rfh post) to an address which I knew would end up in an imap folder I had just emptied. Then I quit gnus and started up in a fresh emacs with imap-debug t. Selecting the specified folder led to the: (assert (eq (char-after) ?\)) nil "In imap-parse-body 2") from imap.el's (imap-parse-body). A part of the debug looks like: |||||| 7 -> imap-parse-body: ||||||| 8 -> imap-parse-envelope: ||||||| 8 <- imap-parse-envelope: ["Wed, 05 Dec 2007 19:30:02 -0800" "Selecting a child's name" (["tomkanpa" nil "tomkanpa" "aol.com"]) nil nil nil nil nil nil nil] ||||||| 8 -> imap-parse-body: ||||||| 8 <- imap-parse-body: nil so the assert is in the sub-body which in this case is: ("text" "plain" NIL NIL NIL "7BIT" 714 25) and not in the main rfc 822 body. Also, the parse of the envelope gets nil for the sender, reply-to and message-id fields. I wonder whether that is where the parsing gets off track? The full debug (of just the one folder select) is about 36½K so I'm attaching it gzip(1)ed (which interestingly is smaller than bzip2(1)ed). -JimC