There's no reason to completely kill a buffer while refreshing its search results because its buffer name is constant between refreshes (based on the search query) and only its contents may change.
Reusing the same buffer also makes it possible to do things like refreshing a buffer which is not focused or even not shown in any window - this will be used in the next patches to add auto-refresh capabilities to all existing notmuch buffers + a function to call after syncing mail to refresh everything. Signed-off-by: Ioan-Adrian Ratiu <a...@adirat.com> --- emacs/notmuch.el | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/emacs/notmuch.el b/emacs/notmuch.el index 43d56f7..c33c55c 100644 --- a/emacs/notmuch.el +++ b/emacs/notmuch.el @@ -990,7 +990,7 @@ the configured default sort order." (defun notmuch-search-refresh-view () "Refresh the current view. -Kills the current buffer and runs a new search with the same +Erases the current buffer and runs a new search with the same query string as the current search. If the current thread is in the new search results, then point will be placed on the same thread. Otherwise, point will be moved to attempt to be in the @@ -998,8 +998,9 @@ same relative position within the new buffer." (let ((target-line (line-number-at-pos)) (oldest-first notmuch-search-oldest-first) (target-thread (notmuch-search-find-thread-id 'bare)) - (query notmuch-search-query-string)) - (notmuch-bury-or-kill-this-buffer) + (query notmuch-search-query-string) + (inhibit-read-only t)) + (erase-buffer) (notmuch-search query oldest-first target-thread target-line) (goto-char (point-min)))) -- 2.9.3 _______________________________________________ notmuch mailing list notmuch@notmuchmail.org https://notmuchmail.org/mailman/listinfo/notmuch