Hi Michael, On Wed, 15 Feb 2012 10:57:42 +1300, Michael Hudson-Doyle <michael.hudson@canonical.com> wrote: > Thanks for the reply! > > On Tue, 14 Feb 2012 10:41:20 +0100, Rodney Lorrimar <dev@rodney.id.au> wrote: > > Hi Michael, > > > > On Tue, 14 Feb 2012 11:01:56 +1300, Michael Hudson-Doyle <michael.hudson@canonical.com> wrote: > > > The attached gzipped mbox appears to trip up the emacs interface. The > > > problem seems to come from the message with id > > > CAGNsrLCWv6=36q+q+5Hc_SzgdZ2ergeKkapT7T3xXvim=2cK+A@mail.gmail.com. > > > > > > If you load up the thread in emacs, you get a message: > > > > > > mm-extern-cache-contents: Couldn't find access type > > > > If you put (require 'gnus-art) into your .emacs and eval it, does the > > problem go away? > > No. Oh well. I loaded up the thread in notmuch and also got an infinite loop. > > > Then attempting to advance past the last display message (or pressing A, > > > or a few other things I expect gets emacs to loop indefinitely. > > > toggle-debug-on-quit gets me this backtrace: > > > > I believe the actual bug is in gnus but I don't really like the loop on > > error behaviour of notmuch. I would like to try and fix it but haven't > > found the time. > > As far as I can tell, gnus isn't involved here. I may be wrong, of > course! After setting a breakpoint in mm-extern-cache-contents I'm inclined to agree, but I'm not really sure. The following hack to 0.11 works around the problem. I think the experts here would be able to come up with something better. Cheers, Rodney diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el index 82d11c9..48c15d2 100644 --- a/emacs/notmuch-show.el +++ b/emacs/notmuch-show.el @@ -327,7 +327,8 @@ current buffer, if possible." (with-temp-buffer (let ((handle (mm-make-handle (current-buffer) (list content-type)))) (if (and (mm-inlinable-p handle) - (mm-inlined-p handle)) + (mm-inlined-p handle) + (cdr (mm-handle-type handle))) (let ((content (notmuch-show-get-bodypart-content msg part nth))) (insert content) (set-buffer display-buffer)