Re: performance in emacs displaying a huge thread

Subject: Re: performance in emacs displaying a huge thread

Date: Tue, 21 Sep 2021 18:14:55 +0200

To: David Bremner, notmuch


From: Alan Schmitt


On 2021-09-21 12:38, David Bremner <> writes:

> Alan Schmitt <> writes:
>> Thank you for bearing with me. I confirm that I can see messages at the
>> beginning of the thread using both an unthreaded search and
>> notmuch-show-only-matching-messages set to t. Unfortunately, messages
>> later in the thread still result in an error:
>> Debugger entered--Lisp error: (error "Lisp nesting exceeds ‘max-lisp-eval-depth’")
>>   mapc(#f(compiled-function (tree) #<bytecode 0x155b47dedb05>) ((nil ((nil ((nil (...)))))) (nil ((nil ((nil nil)))))))
>>   notmuch-show-insert-thread(((nil ((nil ((nil (...)))))) (nil ((nil ((nil nil)))))) 197)
>>   notmuch-show-insert-tree((nil ((nil ((nil ((nil ...))))) (nil ((nil ((nil nil))))))) 196)
> I don't really understand how you got here. For me, if I type U from
> notmuch-search to get an unthreaded view, then <return> just shows the
> single message, and "notmuch-show-insert-tree" is not called.
> In this way I can view arbitrary messages threads of up to 1024 in
> length. I didn't test with encrypted messages, maybe that changes
> something.

I can view a thread with more than 7000 messages (with
show-only-matching-messages to t) if they are not encrypted. In fact I
already could with 0.32 if I remember correctly. The fact that messages
are encrypted seems to matter here.

If it matters, here is the bottom of the debug stack:

  notmuch-show-insert-thread(((nil ((nil ((nil nil) (nil (... ...))))))) 1)
  notmuch-show-insert-tree((nil ((nil ((nil ((nil nil) (nil ...))))))) 0)
  #f(compiled-function (tree) #<bytecode 0x155b49d5fc55>)((nil ((nil ((nil ((nil nil) (nil ...))))))))
  mapc(#f(compiled-function (tree) #<bytecode 0x155b49d5fc55>) ((nil ((nil ((nil (... ...))))))))
  notmuch-show-insert-thread(((nil ((nil ((nil (... ...))))))) 0)
  #f(compiled-function (thread) #<bytecode 0x155b49b2e195>)(((nil ((nil ((nil (... ...))))))))
  mapc(#f(compiled-function (thread) #<bytecode 0x155b49b2e195>) (((nil ((nil ((nil ...))))))))
  notmuch-show-insert-forest((((nil ((nil ((nil ...))))))))
  funcall-interactively(notmuch-tree-show-message nil)
  call-interactively(notmuch-tree-show-message nil nil)


signature.asc (application/pgp-signature)
notmuch mailing list --
To unsubscribe send an email to