From 1348212cb051b846bbe98f6d653da45aad3dfefa Mon Sep 17 00:00:00 2001 From: Vladimir Panteleev Date: Mon, 14 Aug 2017 07:08:36 +0000 Subject: [PATCH] emacs: Refuse requests to refresh tree views while a refresh is running notmuch-tree did not protect against concurrent refreshes like notmuch-search, meaning, hitting '=' (notmuch-refresh-this-buffer) quickly will spawn multiple parallel notmuch processes, and clobber the existing results in the current buffer. * notmuch-tree.el: Add a guard to notmuch-tree-refresh-view similar to the one in notmuch-search. --- emacs/notmuch-tree.el | 2 ++ 1 file changed, 2 insertions(+) diff --git a/emacs/notmuch-tree.el b/emacs/notmuch-tree.el index 220395e7..c00315e8 100644 --- a/emacs/notmuch-tree.el +++ b/emacs/notmuch-tree.el @@ -598,6 +598,8 @@ message will be \"unarchived\", i.e. the tag changes in (defun notmuch-tree-refresh-view () "Refresh view." (interactive) + (when (get-buffer-process (current-buffer)) + (error "notmuch tree process already running for current buffer")) (let ((inhibit-read-only t) (basic-query notmuch-tree-basic-query) (query-context notmuch-tree-query-context)