On Sat, 10 Sep 2016, Ioan-Adrian Ratiu <adi@adirat.com> wrote: > 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@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)) I think this is a case where dolist might be more idiomatic (and maybe you want buffer to be local to this function?) > + (when (string-prefix-p "notmuch" (format "%s" buffer-mode)) > + (with-current-buffer buffer > + (notmuch-refresh-this-buffer no-display)))))) Is there a problem with this being slow if there are lots of show buffers? notmuch show is synchronous? I am not saying it is a problem, just wondered if you had considered it. Best wishes Mark > + > (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 > > _______________________________________________ > notmuch mailing list > notmuch@notmuchmail.org > https://notmuchmail.org/mailman/listinfo/notmuch