This reverts commit f9fbd1ee3bfd679175d88af403752d87a730349f. Emacs provides a mechanism for avoiding wiping out buffer-local variables: marking them as "permanent local", which essentially means "don't wip out the local value when enabling major-mode".
(put 'the-variable 'permanent-local t) See (info "(elisp)Creating Buffer-Local"). Whether refreshing the buffer contents should involve re-enable the mode is a different question, which should not be decided based on the fact that we want keep the value of some random variable, not least because some other (e.g. cache) variables are likely expected to be wiped. --- emacs/notmuch.el | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/emacs/notmuch.el b/emacs/notmuch.el index 83bcee57..c4078bd3 100644 --- a/emacs/notmuch.el +++ b/emacs/notmuch.el @@ -995,11 +995,7 @@ (defun notmuch-search (&optional query oldest-first target-thread target-line no (if no-display (set-buffer buffer) (pop-to-buffer-same-window buffer)) - ;; avoid wiping out third party buffer-local variables in the case - ;; where we're just refreshing or changing the sort order of an - ;; existing search results buffer - (unless (eq major-mode 'notmuch-search-mode) - (notmuch-search-mode)) + (notmuch-search-mode) ;; Don't track undo information for this buffer (set 'buffer-undo-list t) (set 'notmuch-search-query-string query) -- 2.29.1 _______________________________________________ notmuch mailing list -- email@example.com To unsubscribe send an email to notmuch-le...@notmuchmail.org