Hello,
On 2021-06-01 15:33, David Bremner <david@tethera.net> writes:
>> Is this a bug of notmuch-emacs? Is there a way to display a single
>> message independently of its context?
>>
>
> I'm not sure what the best UI is, but here is a start:
>
> (defun notmuch-show-single-message (query)
> (interactive "sQuery: ")
> (message query)
> (let ((notmuch-show-indent-messages-width 0)
> (notmuch-show-only-matching-messages t))
> (notmuch-show query)))
Thank you for the suggestion, unfortunately I get a very similar error.
I found the id of the message I want, and when I run this function, I
get this backtrace.
Debugger entered--Lisp error: (error "Lisp nesting exceeds ‘max-lisp-eval-depth’")
#f(compiled-function (tree) #<bytecode 0x1590027e5e8d>)((nil ((nil ((nil ((nil ...))) (nil ((nil ...))))))))
mapc(#f(compiled-function (tree) #<bytecode 0x1590027e5e8d>) ((nil ((nil ((nil (...)) (nil (...))))))))
notmuch-show-insert-thread(((nil ((nil ((nil (...)) (nil (...))))))) 195)
notmuch-show-insert-tree((nil ((nil ((nil ((nil ...) (nil ...))))))) 194)
#f(compiled-function (tree) #<bytecode 0x1590027e5e75>)((nil ((nil ((nil ((nil ...) (nil ...))))))))
mapc(#f(compiled-function (tree) #<bytecode 0x1590027e5e75>) ((nil ((nil ((nil (... ...))))))))
notmuch-show-insert-thread(((nil ((nil ((nil (... ...))))))) 194)
notmuch-show-insert-tree((nil ((nil ((nil ((nil ...))))))) 193)
#f(compiled-function (tree) #<bytecode 0x1590027e5e5d>)((nil ((nil ((nil ((nil ...))))))))
mapc(#f(compiled-function (tree) #<bytecode 0x1590027e5e5d>) ((nil ((nil ((nil (...))))))))
notmuch-show-insert-thread(((nil ((nil ((nil (...))))))) 193)
…many line elided…
notmuch-show-insert-tree((nil ((nil ((nil nil) (nil ((nil ...) (nil nil))))))) 1)
#f(compiled-function (tree) #<bytecode 0x159002a52c05>)((nil ((nil ((nil nil) (nil ((nil ...) (nil nil))))))))
mapc(#f(compiled-function (tree) #<bytecode 0x159002a52c05>) ((nil ((nil ((nil nil) (nil (... ...))))))))
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 0x159002a52bed>)((nil ((nil ((nil ((nil nil) (nil ...))))))))
mapc(#f(compiled-function (tree) #<bytecode 0x159002a52bed>) ((nil ((nil ((nil (... ...))))))))
notmuch-show-insert-thread(((nil ((nil ((nil (... ...))))))) 0)
#f(compiled-function (thread) #<bytecode 0x158ffe837651>)(((nil ((nil ((nil (... ...))))))))
mapc(#f(compiled-function (thread) #<bytecode 0x158ffe837651>) (((nil ((nil ((nil ...))))))))
notmuch-show-insert-forest((((nil ((nil ((nil ...))))))))
notmuch-show--build-buffer()
notmuch-show("id:Mr.mCS31Ym4nF_.pqMxIMnhICF@petitepomme.net")
(let ((notmuch-show-indent-messages-width 0) (notmuch-show-only-matching-messages t)) (notmuch-show query))
notmuch-show-single-message("id:Mr.mCS31Ym4nF_.pqMxIMnhICF@petitepomme.net")
funcall-interactively(notmuch-show-single-message "id:Mr.mCS31Ym4nF_.pqMxIMnhICF@petitepomme.net")
call-interactively(notmuch-show-single-message record nil)
command-execute(notmuch-show-single-message record)
This seems to be the same problem as when hitting RET on a tree-view
buffer. Some huge forest is built, instead of showing the single
message. (Or maybe the forest is built before deciding to show only the
message, but there is a stack overflow before that.)
Best,
Alan