On Sat, 10 Sep 2016, Ioan-Adrian Ratiu <a...@adirat.com> wrote:
> 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)
This looks fine. It might be worth putting a comment in that
notmuch-search kills all local variables as otherwise a reader may worry
about that. The chain to get to kill-all-local-variables is relatively
notmuch mailing list