From 0e10ca3a625c25c0238ecca2767aab7035b88a22 Mon Sep 17 00:00:00 2001 From: Damien Cassou Date: Sun, 16 Feb 2025 22:22:23 +0100 Subject: [PATCH] notmuch-show-imenu-prev-index-position-function: Don't recenter The previous version of notmuch-show-imenu-prev-index-position-function was calling notmuch-show-previous-message which was recentering the window. This is a problem when which-func-mode is active because which-func-mode is called each time the user moves point around. Because this function is only meant to be executed by imenu, there is no reason to recenter the window. For the same reason, the new implementation doesn't have to follow strictly how notmuch-show-previous-message is implemented because imenu only places point at very specific locations before calling notmuch-show-imenu-prev-index-position-function. --- emacs/notmuch-show.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el index 14e3c698..921c0ef1 100644 --- a/emacs/notmuch-show.el +++ b/emacs/notmuch-show.el @@ -2686,7 +2686,9 @@ This function is used as a value for `imenu-prev-index-position-function'." (if (bobp) nil - (notmuch-show-previous-message) + (if (eobp) + (notmuch-show-move-to-message-top) + (notmuch-show-goto-message-previous)) t)) (defun notmuch-show-imenu-extract-index-name-function () -- 2.45.2