[PATCH 4/4] emacs: add refresh all buffers function
Ioan-Adrian Ratiu
adi at adirat.com
Sat Sep 10 07:28:19 PDT 2016
This new notmuch-refresh-all-buffers function calls each buffer's major
mode specific refresh function using the generic function
notmuch-refresh-this-buffer.
It is very useful because by passing a non-nil arg to the buffer specific
refresh functions it refreshes all notmuch buffers in the background and
this again is very useful when doing periodic timer-based mail syncing.
Signed-off-by: Ioan-Adrian Ratiu <adi at adirat.com>
---
emacs/notmuch-lib.el | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el
index 6618365..4cc2041 100644
--- a/emacs/notmuch-lib.el
+++ b/emacs/notmuch-lib.el
@@ -428,6 +428,21 @@ in a window on screen, no-display has no effect."
(notmuch-poll)
(notmuch-refresh-this-buffer))
+(defun notmuch-refresh-all-buffers (&optional no-display)
+ "Invoke `notmuch-refresh-this-buffer' on all notmuch major-mode buffers.
+
+If no-display is non-nil all buffers are silently refreshed, i.e. they are
+not foregrounded even if not displayed in any window. If no-display is nil
+then each buffer's mode-specific refresh function uses its default behaviour."
+ (let ((buffers (buffer-list)))
+ (while buffers
+ (setq buffer (car buffers)
+ buffers (cdr buffers)
+ buffer-mode (buffer-local-value 'major-mode buffer))
+ (when (string-prefix-p "notmuch" (format "%s" buffer-mode))
+ (with-current-buffer buffer
+ (notmuch-refresh-this-buffer no-display))))))
+
(defun notmuch-prettify-subject (subject)
;; This function is used by `notmuch-search-process-filter' which
;; requires that we not disrupt its' matching state.
--
2.9.3
More information about the notmuch
mailing list