unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* Profiling Slowdown when Opening Message with Many Threads
@ 2018-11-09 23:54 Cole Lyman
  2018-11-10  0:15 ` Cole Lyman
  0 siblings, 1 reply; 3+ messages in thread
From: Cole Lyman @ 2018-11-09 23:54 UTC (permalink / raw)
  To: notmuch

Hi all,

First of all, thank you so much to all of the developers that have
contributed to notmuch. I think it is a beautiful piece of software and
it has certainly made my life better.

I have an email with about 16 threads (responses back and forth 16
times, there are some pdf attachements thrown in there as well) that
takes considerable time (30 seconds to a minute) to open up using the
notmuch Emacs interface. As an aside, there are also some HTML emails in
there which I have read could be the culprit.

I have run the Emacs profiler and have attached the profiler report.
From viewing the results from the profiler, it seems that there
recursive calls to `notmuch-show-insert-thread` (one call for each
thread, I presume) and as I follow the calls down the stack it turns out
that the function `indent-rigidly` takes up 63% of the CPU cycles.

Anyone have any insight as to why this is happening or next steps that I
could try to debug this?

I am running Emacs 26.1 (with Doom, in case that matters, in the call
stack the `+mail/notmuch-show-reuse-buffer` is part of Doom) on OSX
version 10.14.1. Please let me know if any other information would be
useful!

Thank you,
Cole

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Profiling Slowdown when Opening Message with Many Threads
  2018-11-09 23:54 Profiling Slowdown when Opening Message with Many Threads Cole Lyman
@ 2018-11-10  0:15 ` Cole Lyman
  2018-11-10 11:18   ` David Edmondson
  0 siblings, 1 reply; 3+ messages in thread
From: Cole Lyman @ 2018-11-10  0:15 UTC (permalink / raw)
  To: notmuch

[-- Attachment #1: Type: text/plain, Size: 31 bytes --]

Forgot to attach the profile.


[-- Attachment #2: CPU Emacs profile showing a message opening --]
[-- Type: application/octet-stream, Size: 64580 bytes --]


[profiler-profile "24.3" cpu #s(hash-table size 325 test equal rehash-size 1.5 rehash-threshold 0.8125 data ([profiler-start funcall-interactively call-interactively command-execute "#<compiled 0x439d6481>" ivy-call ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil nil nil nil nil] 2 [nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 134 ["#<compiled 0x43aeaa49>" apply auto-revert-buffers apply timer-event-handler nil nil nil nil nil nil nil nil nil nil nil] 7 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group] 1 [set-cursor-color +evil-default-cursor evil-set-cursor evil-refresh-cursor ad-Advice-select-window apply "#<compiled 0x431e3ca1>" funcall if doom*switch-window-hooks apply select-window ivy--format ivy--exhibit ivy--minibuffer-setup "#<compiled 0x43a08ff1>"] 2 [set-cursor-color +evil-default-cursor evil-set-cursor evil-refresh-cursor ad-Advice-select-window apply "#<compiled 0x431e3ca1>" funcall if doom*switch-window-hooks apply select-window ivy--format ivy--exhibit ivy--queue-exhibit read-from-minibuffer] 42 [read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 281 [ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 420 [ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 3 [apply start-process apply "#<compiled 0x400adfa3>" apply start-file-process--with-editor-process-filter apply start-file-process start-file-process-shell-command counsel--async-command counsel-notmuch-function ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-notmuch] 39 [counsel--async-command counsel-notmuch-function ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 3 [cl-subseq ivy--format ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 15 [ivy--cleanup ivy--insert-minibuffer ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 1 [delete-process counsel-delete-process counsel--async-command counsel-notmuch-function ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil] 10 [ivy--insert-minibuffer ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 1 [ivy--resize-minibuffer-to-fit ivy--insert-minibuffer ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 2 [ivy--queue-exhibit read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil] 1 [set-cursor-color +evil-default-cursor evil-set-cursor evil-refresh-cursor ad-Advice-select-window apply "#<compiled 0x431e3ca1>" funcall if doom*switch-window-hooks apply select-window ivy--format counsel--async-filter read-from-minibuffer ivy-read] 10 [counsel-notmuch-transformer mapcar ivy--format counsel--async-filter read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 5 [ivy--flx-propertize ivy--highlight-fuzzy ivy--format-minibuffer-line mapcar ivy--wnd-cands-to-str ivy--format counsel--async-filter read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil] 2 [ivy--insert-minibuffer counsel--async-filter read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 2 [auto-revert-handler@bug21559 apply auto-revert-handler "#<compiled 0x43aeaa49>" apply auto-revert-buffers apply timer-event-handler read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil] 1 ["#<compiled 0x43aeaa49>" apply auto-revert-buffers apply timer-event-handler read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil] 5 [file-notify-add-watch auto-revert-notify-add-watch "#<compiled 0x43aeaa49>" apply auto-revert-buffers apply timer-event-handler read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil] 2 [counsel--async-filter read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil] 3 ["#<compiled 0x43bc8471>" mapconcat ivy--format-function-generic ivy-format-function-line ivy--wnd-cands-to-str ivy--format counsel--async-filter read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil] 1 [ivy--resize-minibuffer-to-fit ivy--insert-minibuffer counsel--async-filter read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 6 [set-cursor-color +evil-default-cursor evil-set-cursor evil-refresh-cursor ad-Advice-select-window apply "#<compiled 0x431e3ca1>" funcall if doom*switch-window-hooks apply select-window ivy--format ivy--exhibit counsel--async-sentinel read-from-minibuffer] 3 [counsel-notmuch-transformer mapcar ivy--format ivy--exhibit counsel--async-sentinel read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil] 1 [flx-find-best-match flx-find-best-match flx-score ivy--highlight-fuzzy ivy--format-minibuffer-line mapcar ivy--wnd-cands-to-str ivy--format ivy--exhibit counsel--async-sentinel read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute] 2 [ivy--insert-minibuffer ivy--exhibit counsel--async-sentinel read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 2 [sp-point-in-string sp--save-pre-command-state read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 1 [set-cursor-color +evil-default-cursor evil-set-cursor evil-refresh-cursor read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 1 [evil-get-auxiliary-keymap evil-state-intercept-keymaps evil-state-keymaps evil-normalize-keymaps evil-normal-state evil-change-state evil-change-to-initial-state evil-initialize-state evil-local-mode ad-Advice-set-window-buffer apply set-window-buffer "#<compiled 0x4008f237>" apply prog1 let] 1 [evil-refresh-cursor ad-Advice-select-window apply "#<compiled 0x431e3ca1>" funcall if doom*switch-window-hooks apply select-window "#<compiled 0x4008f237>" apply prog1 let if doom*switch-buffer-hooks apply] 1 [evil-get-auxiliary-keymap evil-state-auxiliary-keymaps evil-state-keymaps evil-normalize-keymaps ad-Advice-use-local-map apply use-local-map notmuch-show-mode let +mail/notmuch-show-reuse-buffer apply notmuch-show counsel-notmuch-action-show ivy-call ivy-read counsel-notmuch] 1 [backtrace-frame--internal backtrace-frame "#<compiled 0x40084e21>" called-interactively-p overwrite-mode evil-normal-state evil-change-state evil-change-to-initial-state evil-initialize-state evil-local-mode evil-initialize evil-mode-enable-in-buffers run-hooks run-mode-hooks notmuch-show-mode let] 1 [apply notmuch-call-notmuch--helper notmuch-call-notmuch-sexp apply notmuch-query-get-threads notmuch-show--build-buffer if let let +mail/notmuch-show-reuse-buffer apply notmuch-show counsel-notmuch-action-show ivy-call ivy-read counsel-notmuch] 27 [apply notmuch-query-get-threads notmuch-show--build-buffer if let let +mail/notmuch-show-reuse-buffer apply notmuch-show counsel-notmuch-action-show ivy-call ivy-read counsel-notmuch funcall-interactively call-interactively command-execute] 1 [notmuch-call-notmuch-sexp apply notmuch-query-get-threads notmuch-show--build-buffer if let let +mail/notmuch-show-reuse-buffer apply notmuch-show counsel-notmuch-action-show ivy-call ivy-read counsel-notmuch funcall-interactively call-interactively] 28 [ad-Advice-delete-file apply delete-file "#<compiled 0x41ab1b3b>" notmuch-call-notmuch-sexp apply notmuch-query-get-threads notmuch-show--build-buffer if let let +mail/notmuch-show-reuse-buffer apply notmuch-show counsel-notmuch-action-show ivy-call] 1 [notmuch-wash-tidy-citations run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread "#<compiled 0x4396ef6d>" mapc notmuch-show-insert-forest] 1 [notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread "#<compiled 0x4396ef6d>" mapc notmuch-show-insert-forest notmuch-show--build-buffer if let] 1 [notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree] 2 [coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg] 37 [notmuch-wash-tidy-citations run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>"] 4 [put-text-property notmuch-map-text-property notmuch-show-record-part-information notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc] 9 [notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread "#<compiled 0x4396ef6d>" mapc notmuch-show-insert-forest notmuch-show--build-buffer if let let] 2 [coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree] 165 [insert-before-markers coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread] 65 [coolj-set-breakpoint coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread] 112 [replace-match notmuch-wash-tidy-citations run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>"] 1 [notmuch-wash-excerpt-citations run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc] 59 [put-text-property notmuch-map-text-property notmuch-show-record-part-information notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread] 42 [notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread "#<compiled 0x4396ef6d>" mapc notmuch-show-insert-forest] 13 [indent-rigidly notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread "#<compiled 0x4396ef6d>" mapc] 2 [put-text-property notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread "#<compiled 0x4396ef6d>" mapc] 1 [coolj-set-breakpoint coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body] 6 [replace-match notmuch-wash-elide-blank-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree] 3 [notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc] 6977 [coolj-determine-prefix coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread] 61 [notmuch-wash-tidy-citations run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc] 46 [indent-rigidly notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>"] 17424 [indent-to indent-rigidly notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree] 154 [flycheck-handle-change indent-to indent-rigidly notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread] 191 [delete-char coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body] 8 [insert-before-markers coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body] 10 [notmuch-wash-excerpt-citations run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>"] 1 [timer-set-time run-at-time flycheck-handle-change indent-to indent-rigidly notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>"] 4 [put-text-property notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>"] 28 [jit-lock-after-change insert-before-markers coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc] 22 [run-at-time flycheck-handle-change delete-char coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>"] 10 [flycheck-handle-change insert-before-markers coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc] 32 [delete-char coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread] 26 [jit-lock-after-change indent-to indent-rigidly notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread] 73 [timer-relative-time run-at-time flycheck-handle-change indent-to indent-rigidly notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>"] 25 [timer--time-less-p timer--activate timer-activate run-at-time flycheck-handle-change indent-to indent-rigidly notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread] 79 [run-at-time flycheck-handle-change indent-to indent-rigidly notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc] 31 [timer-activate run-at-time flycheck-handle-change indent-to indent-rigidly notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>"] 8 [flycheck-handle-change insert-before-markers coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc] 6 [coolj-determine-prefix coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body] 1 [jit-lock-after-change insert-before-markers coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc] 5 [flycheck-handle-change delete-char coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc] 2 [notmuch-map-text-property notmuch-show-record-part-information notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread] 2 [coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>"] 7 [flycheck-handle-change delete-char coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc] 15 [notmuch-wash-button-label notmuch-wash-region-to-button notmuch-wash-excerpt-citations run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree] 13 [timerp cancel-timer flycheck-clear-idle-change-timer flycheck-handle-change indent-to indent-rigidly notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree] 2 ["#<compiled 0x43601f75>" flycheck-handle-change indent-to indent-rigidly notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc] 1 [ws-butler-after-change put-text-property notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree] 4 [flycheck-handle-change notmuch-show-insert-headerline notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree] 1 [timer-relative-time run-at-time flycheck-handle-change delete-char coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree] 5 [timer-relative-time run-at-time flycheck-handle-change insert-before-markers coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree] 3 [jit-lock-after-change delete-char coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc] 10 [run-at-time flycheck-handle-change insert-before-markers coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>"] 5 [timer--time-less-p timer--activate timer-activate run-at-time flycheck-handle-change delete-char coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body] 8 [timer--time-less-p timer--activate timer-activate run-at-time flycheck-handle-change insert-before-markers coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body] 8 [timer-set-function run-at-time flycheck-handle-change delete-char coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree] 1 [notmuch-wash-elide-blank-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc] 3 [notmuch-map-text-property notmuch-show-record-part-information notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree] 11 [timer-activate run-at-time flycheck-handle-change delete-char coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree] 4 [mm-inline-override-p mm-inlined-p notmuch-mm-display-part-inline notmuch-show-insert-part-*/* notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4384e301>" mapc notmuch-show-insert-part-multipart/* notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree] 1 [notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>"] 4 [ws-butler-after-change put-text-property notmuch-map-text-property notmuch-show-record-part-information notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc] 1 [flycheck-clear-idle-change-timer flycheck-handle-change indent-to indent-rigidly notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc] 1 [timer--activate timer-activate run-at-time flycheck-handle-change indent-to indent-rigidly notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree] 1 [notmuch-show-toggle-part-invisibility notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4384e301>" mapc notmuch-show-insert-part-multipart/* notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg] 1 [redisplay notmuch-show-command-hook nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 28 [file-notify-add-watch auto-revert-notify-add-watch "#<compiled 0x43aeaa49>" apply auto-revert-buffers apply timer-event-handler nil nil nil nil nil nil nil nil nil] 1 [apply auto-revert-buffers apply timer-event-handler nil nil nil nil nil nil nil nil nil nil nil nil] 1 [evil-escape-p evil-escape-pre-command-hook nil nil nil nil nil nil nil nil nil nil nil nil nil nil] 1 [mapatoms amx-detect-new-commands counsel--M-x-externs counsel-M-x funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil] 3 ["#<compiled 0x431a32f1>" mapatoms amx-detect-new-commands counsel--M-x-externs counsel-M-x funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 7 ["#<compiled 0x433a7af1>" mapatoms amx-rebuild-cache amx-update counsel--M-x-externs counsel-M-x funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 2 [mapatoms amx-rebuild-cache amx-update counsel--M-x-externs counsel-M-x funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 2 [sort amx-rebuild-cache amx-update counsel--M-x-externs counsel-M-x funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 4 [amx-sorting-rules sort amx-rebuild-cache amx-update counsel--M-x-externs counsel-M-x funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 1 [amx-rebuild-cache amx-update counsel--M-x-externs counsel-M-x funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil] 1 [mapcar counsel--M-x-externs counsel-M-x funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 1 [counsel--M-x-externs counsel-M-x funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 2 [cl-sort ivy--flx-sort ivy--sort ivy--filter ivy--exhibit ivy--minibuffer-setup "#<compiled 0x43bbb571>" read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil nil nil] 4 ["#<compiled 0x43b09071>" sort cl-sort ivy--flx-sort ivy--sort ivy--filter ivy--exhibit ivy--minibuffer-setup "#<compiled 0x43bbb571>" read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil] 3 [ivy--case-fold-string= cl--position cl-position ivy--recompute-index ivy--filter ivy--exhibit ivy--minibuffer-setup "#<compiled 0x43bbb571>" read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil nil] 1 [counsel-M-x-transformer ivy-rich-format-column "#<compiled 0x43ac8c71>" mapconcat ivy-rich-format ivy-rich--counsel-M-x-transformer mapcar ivy--format ivy--exhibit ivy--minibuffer-setup "#<compiled 0x43bbb571>" read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively] 2 [ivy-rich-counsel-function-docstring ivy-rich-format-column "#<compiled 0x40bcbe4d>" mapconcat ivy-rich-format ivy-rich--counsel-M-x-transformer mapcar ivy--format ivy--exhibit ivy--minibuffer-setup "#<compiled 0x43bbb571>" read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively] 2 [ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil nil] 95 [counsel-M-x-transformer ivy-rich-format-column "#<compiled 0x43b203e9>" mapconcat ivy-rich-format ivy-rich--counsel-M-x-transformer mapcar ivy--format ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute] 2 [read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil nil nil] 49 [apply cl-remove ivy--re-filter ivy--filter ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil nil nil nil] 2 [sort cl-sort ivy--flx-sort ivy--sort ivy--filter ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil nil nil] 4 [ivy-rich-counsel-function-docstring ivy-rich-format-column "#<compiled 0x437d72f1>" mapconcat ivy-rich-format ivy-rich--counsel-M-x-transformer mapcar ivy--format ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute] 15 [flx-process-cache flx-score ivy--highlight-fuzzy ivy--format-minibuffer-line mapcar ivy--wnd-cands-to-str ivy--format ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil] 1 ["#<compiled 0x4374296d>" cl-delete apply cl-remove ivy--re-filter ivy--filter ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil nil] 15 [cl-delete apply cl-remove ivy--re-filter ivy--filter ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil nil nil] 4 ["#<compiled 0x43742731>" sort cl-sort ivy--flx-sort ivy--sort ivy--filter ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil nil] 1 [flx-find-best-match flx-score "#<compiled 0x437422bd>" mapcar ivy--flx-sort ivy--sort ivy--filter ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil] 1 [facep colir-blend-face-background ivy--add-face "#<compiled 0x439ad845>" "#<compiled 0x43142e79>" mapconcat ivy--format-function-generic ivy-format-function-line ivy--wnd-cands-to-str ivy--format ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-M-x funcall-interactively] 1 [mapcar flx-find-best-match flx-find-best-match flx-find-best-match flx-score "#<compiled 0x430d6f61>" mapcar ivy--flx-sort ivy--sort ivy--filter ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-M-x funcall-interactively] 1 [flx-process-cache flx-score "#<compiled 0x431e9bed>" mapcar ivy--flx-sort ivy--sort ivy--filter ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil] 1 [ivy--resize-minibuffer-to-fit ivy--insert-minibuffer ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 1 [flx-find-best-match flx-find-best-match flx-find-best-match flx-score "#<compiled 0x4322ceed>" mapcar ivy--flx-sort ivy--sort ivy--filter ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively] 1 [flx-find-best-match flx-find-best-match flx-find-best-match flx-find-best-match flx-score "#<compiled 0x432a6291>" mapcar ivy--flx-sort ivy--sort ivy--filter ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-M-x funcall-interactively] 1 [flx-find-best-match flx-find-best-match flx-find-best-match flx-find-best-match flx-find-best-match flx-score "#<compiled 0x436c5f21>" mapcar ivy--flx-sort ivy--sort ivy--filter ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-M-x] 1 [flx-find-best-match flx-find-best-match flx-find-best-match flx-score ivy--highlight-fuzzy ivy--format-minibuffer-line mapcar ivy--wnd-cands-to-str ivy--format ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively] 1 [ivy--insert-minibuffer ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 1 [apply timer-event-handler read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 1 ["#<compiled 0x43aeaa49>" apply auto-revert-buffers apply timer-event-handler read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil nil nil nil nil] 2 [set-cursor-color +evil-default-cursor evil-set-cursor evil-refresh-cursor read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 2 [set-cursor-color +evil-default-cursor evil-set-cursor evil-refresh-cursor ad-Advice-select-window apply "#<compiled 0x431e3ca1>" funcall if doom*switch-window-hooks apply select-window ivy-call ivy-read counsel-M-x funcall-interactively] 1 ["#<compiled 0x43913ad5>" apply progn if doom*disable-all-the-icons-in-tty apply all-the-icons-octicon doom-modeline-segment--buffer-info list eval let doom-modeline-format--main eval redisplay_internal\ \(C\ function\) nil nil] 1 [mapcar ivy--format ivy--exhibit counsel--async-sentinel read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 1 [flx-score ivy--highlight-fuzzy ivy--format-minibuffer-line mapcar ivy--wnd-cands-to-str ivy--format ivy--exhibit counsel--async-sentinel read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil] 1 ["#<compiled 0x404d17f1>" mapconcat ivy--format-function-generic ivy-format-function-line ivy--wnd-cands-to-str ivy--format ivy--exhibit counsel--async-sentinel read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil] 1 [ivy--resize-minibuffer-to-fit ivy--insert-minibuffer ivy--exhibit counsel--async-sentinel read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 2 [uniquify-kill-buffer-function kill-buffer counsel--async-command counsel-notmuch-function ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil] 1 [split-string counsel--async-filter read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 2 [frame-width counsel-notmuch-transformer mapcar ivy--format counsel--async-filter read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil] 1 [ivy--format-minibuffer-line mapcar ivy--wnd-cands-to-str ivy--format counsel--async-filter read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil] 1 [ivy--format counsel--async-filter read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 2 [split-string counsel-notmuch-transformer mapcar ivy--format counsel--async-filter read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil] 1 [flx-find-best-match flx-find-best-match flx-find-best-match flx-find-best-match flx-score ivy--highlight-fuzzy ivy--format-minibuffer-line mapcar ivy--wnd-cands-to-str ivy--format counsel--async-filter read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively] 1 [apply cl-find apply cl-find-if colir-blend-face-background ivy--add-face "#<compiled 0x439ad845>" "#<compiled 0x4321a075>" mapconcat ivy--format-function-generic ivy-format-function-line ivy--wnd-cands-to-str ivy--format counsel--async-filter read-from-minibuffer ivy-read] 1 [ws-butler-after-change ivy-display-function-fallback ivy--insert-minibuffer counsel--async-filter read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil] 1 [evil-refresh-cursor ad-Advice-select-window apply "#<compiled 0x431e3ca1>" funcall if doom*switch-window-hooks apply select-window ivy--format counsel--async-filter read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively] 1 [flx-find-best-match flx-find-best-match flx-score ivy--highlight-fuzzy ivy--format-minibuffer-line mapcar ivy--wnd-cands-to-str ivy--format counsel--async-filter read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil] 2 [ucs-normalize-region ucs-normalize-HFS-NFD-region ucs-normalize-hfs-nfd-pre-write-conversion make-process apply start-process apply "#<compiled 0x400adfa3>" apply start-file-process--with-editor-process-filter apply start-file-process start-file-process-shell-command counsel--async-command counsel-notmuch-function ivy--exhibit] 1 [shell-quote-argument counsel-notmuch-cmd counsel-notmuch-function ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil] 1 [ivy--insert-minibuffer counsel--async-sentinel read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 1 [apply timer-event-handler read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 3 [cadr advice-eval-interactive-spec call-interactively ivy-backward-delete-char funcall-interactively call-interactively command-execute read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil] 1 [auto-coding-regexp-alist-lookup find-auto-coding set-auto-coding insert-file-contents load-with-code-conversion interactive-form cadr advice-eval-interactive-spec call-interactively ivy-backward-delete-char funcall-interactively call-interactively command-execute read-from-minibuffer ivy-read counsel-notmuch] 1 [file-truename file-truename file-truename file-truename "#<subr eval-buffer>" apply eval-buffer load-with-code-conversion interactive-form cadr advice-eval-interactive-spec call-interactively ivy-backward-delete-char funcall-interactively call-interactively command-execute] 1 ["#<subr eval-buffer>" apply eval-buffer load-with-code-conversion interactive-form cadr advice-eval-interactive-spec call-interactively ivy-backward-delete-char funcall-interactively call-interactively command-execute read-from-minibuffer ivy-read counsel-notmuch funcall-interactively] 1 [run-hook-with-args do-after-load-evaluation load-with-code-conversion interactive-form cadr advice-eval-interactive-spec call-interactively ivy-backward-delete-char funcall-interactively call-interactively command-execute read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively] 1 [ivy--resize-minibuffer-to-fit ivy--insert-minibuffer counsel--async-sentinel read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil] 1 [locate-file executable-find counsel-require-program counsel-notmuch-cmd counsel-notmuch-function ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil] 1 [flx-find-best-match flx-find-best-match flx-find-best-match flx-find-best-match flx-find-best-match flx-find-best-match flx-score ivy--highlight-fuzzy ivy--format-minibuffer-line mapcar ivy--wnd-cands-to-str ivy--format counsel--async-filter read-from-minibuffer ivy-read counsel-notmuch] 1 ["#<compiled 0x43077fa5>" mapatoms amx-rebuild-cache amx-update amx-update-if-needed amx-idle-update apply timer-event-handler read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil] 1 [mapatoms amx-rebuild-cache amx-update amx-update-if-needed amx-idle-update apply timer-event-handler read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil] 18 [sort amx-rebuild-cache amx-update amx-update-if-needed amx-idle-update apply timer-event-handler read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil] 4 [amx-rebuild-cache amx-update amx-update-if-needed amx-idle-update apply timer-event-handler read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil] 1 [color-rgb-to-hex apply colir-blend colir--blend-background colir-blend-face-background ivy--add-face "#<compiled 0x439ad845>" "#<compiled 0x409d6cad>" mapconcat ivy--format-function-generic ivy-format-function-line ivy--wnd-cands-to-str ivy--format counsel--async-filter read-from-minibuffer ivy-read] 1 [frame-width counsel-notmuch-transformer mapcar ivy--format ivy--exhibit counsel--async-sentinel read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil] 1 [run-mode-hooks minibuffer-inactive-mode read-from-minibuffer ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil nil nil nil nil nil nil] 1 [set-cursor-color +evil-default-cursor evil-set-cursor evil-refresh-cursor evil-normal-state evil-change-state evil-change-to-initial-state evil-initialize-state evil-local-mode ad-Advice-set-window-buffer apply set-window-buffer "#<compiled 0x4008f237>" apply prog1 let] 1 ["#<compiled 0x4326af91>" cl-some doom-project-root if let cond let +doom-dashboard--get-pwd let if +doom-dashboard-update-pwd progn if if let or] 1 [run-hooks run-mode-hooks notmuch-show-mode let +mail/notmuch-show-reuse-buffer apply notmuch-show counsel-notmuch-action-show ivy-call ivy-read counsel-notmuch funcall-interactively call-interactively command-execute nil nil] 1 [after-insert-file-set-coding insert-file-contents notmuch-call-notmuch-sexp apply notmuch-query-get-threads notmuch-show--build-buffer if let let +mail/notmuch-show-reuse-buffer apply notmuch-show counsel-notmuch-action-show ivy-call ivy-read counsel-notmuch] 1 [file-truename file-truename file-truename file-truename "#<compiled 0x4329f3d1>" cl-some projectile-project-root ad-Advice-delete-file apply delete-file "#<compiled 0x41ab1b3b>" notmuch-call-notmuch-sexp apply notmuch-query-get-threads notmuch-show--build-buffer if] 1 [jit-lock-after-change notmuch-show-insert-header "#<compiled 0x431830e9>" mapc notmuch-show-insert-headers notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread "#<compiled 0x4396ef6d>" mapc notmuch-show-insert-forest notmuch-show--build-buffer if let] 1 [notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread "#<compiled 0x4396ef6d>" mapc notmuch-show-insert-forest notmuch-show--build-buffer if let let +mail/notmuch-show-reuse-buffer apply notmuch-show counsel-notmuch-action-show] 1 [notmuch-wash-excerpt-citations run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread "#<compiled 0x4396ef6d>" mapc notmuch-show-insert-forest] 1 [split-string notmuch-split-content-type notmuch-match-content-type notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc] 1 [timer--time-less-p timer--activate timer-activate run-at-time flycheck-handle-change replace-match notmuch-wash-elide-blank-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart] 2 [run-at-time flycheck-handle-change indent-to indent-rigidly notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread "#<compiled 0x4396ef6d>" mapc notmuch-show-insert-forest] 1 [indent-to indent-rigidly notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread "#<compiled 0x4396ef6d>"] 2 [ws-butler-after-change replace-match notmuch-wash-elide-blank-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg] 1 [notmuch-show-colour-headers run-hooks notmuch-show-insert-headers notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread] 1 [jit-lock-after-change insert-before-markers notmuch-wash-region-to-button notmuch-wash-excerpt-citations run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread] 1 [jit-lock-after-change delete-char coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc] 1 [timer-relative-time run-at-time flycheck-handle-change delete-char coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart] 3 [timer--time-less-p timer--activate timer-activate run-at-time flycheck-handle-change delete-char coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative] 1 [undo-auto-amalgamate delete-char coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc] 1 [notmuch-show-fontify-header notmuch-show-colour-headers run-hooks notmuch-show-insert-headers notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc] 1 [timer-set-function run-at-time flycheck-handle-change delete-char coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart] 1 [coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree] 1 [jit-lock-after-change replace-match notmuch-wash-tidy-citations run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree] 1 [run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread] 1 [timerp timer--activate timer-activate run-at-time flycheck-handle-change indent-to indent-rigidly notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread] 1 ["#<compiled 0x431830e9>" mapc notmuch-show-insert-headers notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread] 1 [coolj-find-break-backward coolj-set-breakpoint coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc] 3 [ws-butler-after-change insert-before-markers coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc] 1 [ws-butler-after-change indent-to indent-rigidly notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread] 1 [ws-butler-after-change delete-char coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc] 1 [flycheck-buffer-automatically flycheck-handle-change insert-before-markers coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>"] 1 [timer-activate run-at-time flycheck-handle-change insert-before-markers coolj-wrap-line coolj-wrap-region notmuch-wash-wrap-long-lines run-hook-with-args notmuch-show-insert-part-text/plain notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree] 1 [jit-lock-after-change put-text-property notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread notmuch-show-insert-tree] 1 [notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4384e301>" mapc notmuch-show-insert-part-multipart/* notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree] 1 [timer--time-less-p timer--activate timer-activate run-at-time flycheck-handle-change insert-button notmuch-show-insert-part-header notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>" mapc notmuch-show-insert-thread] 1 [timer-activate run-at-time flycheck-handle-change notmuch-show-toggle-part-invisibility notmuch-show-insert-bodypart "#<compiled 0x40ec41d9>" mapc notmuch-show-insert-part-multipart/alternative notmuch-show-insert-bodypart-internal notmuch-show-insert-bodypart "#<compiled 0x4365b5a9>" mapc notmuch-show-insert-body notmuch-show-insert-msg notmuch-show-insert-tree "#<compiled 0x40ed5dbd>"] 1 [regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt-group regexp-opt thing-at-point--bounds-of-well-formed-url thing-at-point-bounds-of-url-at-point thing-at-point-url-at-point thing-at-point ivy-thing-at-point ivy--reset-state ivy-read counsel-M-x funcall-interactively call-interactively command-execute] 1 [cl-remove ivy--re-filter ivy--filter ivy--exhibit ivy--minibuffer-setup "#<compiled 0x42eb7eb9>" read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil nil nil nil] 1 [sort cl-sort ivy--flx-sort ivy--sort ivy--filter ivy--exhibit ivy--minibuffer-setup "#<compiled 0x42eb7eb9>" read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil nil] 3 [cl-position ivy--preselect-index ivy--recompute-index ivy--filter ivy--exhibit ivy--minibuffer-setup "#<compiled 0x42eb7eb9>" read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil nil nil] 1 [ivy--resize-minibuffer-to-fit ivy--insert-minibuffer ivy--exhibit ivy--minibuffer-setup "#<compiled 0x42eb7eb9>" read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil nil nil nil nil] 1 [ivy--format-function-generic ivy-format-function-line ivy--wnd-cands-to-str ivy--format ivy--exhibit ivy--queue-exhibit read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil nil nil nil] 1 [frame-char-size window--min-size-1 window-min-size "#<compiled 0x43288d81>" walk-window-tree-1 walk-window-tree window--sanitize-window-sizes read-from-minibuffer ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil nil nil] 1 [profiler-cpu-profile profiler-report-cpu profiler-report funcall-interactively call-interactively command-execute "#<compiled 0x439d6481>" ivy-call ivy-read counsel-M-x funcall-interactively call-interactively command-execute nil nil nil] 3 [Automatic\ GC] 319)) (23526 5866 526299 0) nil]

[-- Attachment #3: Type: text/plain, Size: 1278 bytes --]


Cole Lyman <cole@colelyman.com> writes:

> Hi all,
>
> First of all, thank you so much to all of the developers that have
> contributed to notmuch. I think it is a beautiful piece of software and
> it has certainly made my life better.
>
> I have an email with about 16 threads (responses back and forth 16
> times, there are some pdf attachements thrown in there as well) that
> takes considerable time (30 seconds to a minute) to open up using the
> notmuch Emacs interface. As an aside, there are also some HTML emails in
> there which I have read could be the culprit.
>
> I have run the Emacs profiler and have attached the profiler report.
> From viewing the results from the profiler, it seems that there
> recursive calls to `notmuch-show-insert-thread` (one call for each
> thread, I presume) and as I follow the calls down the stack it turns out
> that the function `indent-rigidly` takes up 63% of the CPU cycles.
>
> Anyone have any insight as to why this is happening or next steps that I
> could try to debug this?
>
> I am running Emacs 26.1 (with Doom, in case that matters, in the call
> stack the `+mail/notmuch-show-reuse-buffer` is part of Doom) on OSX
> version 10.14.1. Please let me know if any other information would be
> useful!
>
> Thank you,
> Cole

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Profiling Slowdown when Opening Message with Many Threads
  2018-11-10  0:15 ` Cole Lyman
@ 2018-11-10 11:18   ` David Edmondson
  0 siblings, 0 replies; 3+ messages in thread
From: David Edmondson @ 2018-11-10 11:18 UTC (permalink / raw)
  To: Cole Lyman, notmuch

On Friday, 2018-11-09 at 17:15:16 -07, Cole Lyman wrote:

> Forgot to attach the profile.
>
>
> Cole Lyman <cole@colelyman.com> writes:
>
>> Hi all,
>>
>> First of all, thank you so much to all of the developers that have
>> contributed to notmuch. I think it is a beautiful piece of software and
>> it has certainly made my life better.
>>
>> I have an email with about 16 threads (responses back and forth 16
>> times, there are some pdf attachements thrown in there as well) that
>> takes considerable time (30 seconds to a minute) to open up using the
>> notmuch Emacs interface. As an aside, there are also some HTML emails in
>> there which I have read could be the culprit.
>>
>> I have run the Emacs profiler and have attached the profiler report.
>> From viewing the results from the profiler, it seems that there
>> recursive calls to `notmuch-show-insert-thread` (one call for each
>> thread, I presume) and as I follow the calls down the stack it turns out
>> that the function `indent-rigidly` takes up 63% of the CPU cycles.
>>
>> Anyone have any insight as to why this is happening or next steps that I
>> could try to debug this?

Could you figure out which of the messages is being displayed when
`indent-rigidly' uses so much CPU time?

Is the set of messages something that you could share?

>> I am running Emacs 26.1 (with Doom, in case that matters, in the call
>> stack the `+mail/notmuch-show-reuse-buffer` is part of Doom) on OSX
>> version 10.14.1. Please let me know if any other information would be
>> useful!
>>
>> Thank you,
>> Cole
> _______________________________________________
> notmuch mailing list
> notmuch@notmuchmail.org
> https://notmuchmail.org/mailman/listinfo/notmuch

dme.
-- 
It's funny, I spent my whole life wanting to be talked about.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-11-10 11:18 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-09 23:54 Profiling Slowdown when Opening Message with Many Threads Cole Lyman
2018-11-10  0:15 ` Cole Lyman
2018-11-10 11:18   ` David Edmondson

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).