[PATCH] emacs: make the refresh code more consistent

Ioan-Adrian Ratiu adi at adirat.com
Fri Oct 7 07:49:42 PDT 2016


On Thu, 06 Oct 2016, Mark Walters <markwalters1009 at gmail.com> wrote:
> The current refresh code is a little haphazard with some of the
> refresh functions called interactively, and some not. Some of the
> refresh functions take arguments and they aren't consistent.
>
> This makes all the functions have the same form.
> ---
>
> This might be a sensible change to make before the series
> id:20161006134227.17194-1-adi at adirat.com (or merge into that series).
>
> I think the refresh functions should all be called non-interactively
> as that will make it easier to pass arguments, and they should also
> take the same arguments (though they can feel free to ignore them).

Thank you for this, I'll pull it as is in my patch series and rebase
my patches on top of it and send v4 tonight.

Regards,
Ionel

>
> Best wishes
>
> Mark
>
>
> emacs/notmuch-hello.el |  2 +-
>  emacs/notmuch-lib.el   | 22 ++++++++++++----------
>  emacs/notmuch-show.el  |  2 +-
>  emacs/notmuch-tree.el  |  5 ++---
>  emacs/notmuch.el       |  2 +-
>  5 files changed, 17 insertions(+), 16 deletions(-)
>
> diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el
> index d582bff..97280ca 100644
> --- a/emacs/notmuch-hello.el
> +++ b/emacs/notmuch-hello.el
> @@ -604,7 +604,7 @@ with `notmuch-hello-query-counts'."
>  
>  (defimage notmuch-hello-logo ((:type png :file "notmuch-logo.png")))
>  
> -(defun notmuch-hello-update (&optional no-display)
> +(defun notmuch-hello-update (&optional ignore no-display)
>    "Update the current notmuch view."
>    ;; Lazy - rebuild everything.
>    (notmuch-hello no-display))
> diff --git a/emacs/notmuch-lib.el b/emacs/notmuch-lib.el
> index b2cdace..2d27e56 100644
> --- a/emacs/notmuch-lib.el
> +++ b/emacs/notmuch-lib.el
> @@ -410,23 +410,25 @@ of its command symbol."
>        (pop-to-buffer (help-buffer)))))
>  
>  (defvar notmuch-buffer-refresh-function nil
> -  "Function to call to refresh the current buffer.")
> +  "Function to call to refresh the current buffer.
> +
> +It will be called with two arguments: the first is the prefix
> +argument when notmuch-refresh-this-buffer is called
> +interactively, the second requests that the refresh call not
> +display the buffer.")
>  (make-variable-buffer-local 'notmuch-buffer-refresh-function)
>  
> -(defun notmuch-refresh-this-buffer ()
> +(defun notmuch-refresh-this-buffer (prefix)
>    "Refresh the current buffer."
> -  (interactive)
> +  (interactive "P")
>    (when notmuch-buffer-refresh-function
> -    (if (commandp notmuch-buffer-refresh-function)
> -	;; Pass prefix argument, etc.
> -	(call-interactively notmuch-buffer-refresh-function)
> -      (funcall notmuch-buffer-refresh-function))))
> +    (funcall notmuch-buffer-refresh-function prefix)))
>  
> -(defun notmuch-poll-and-refresh-this-buffer ()
> +(defun notmuch-poll-and-refresh-this-buffer (prefix)
>    "Invoke `notmuch-poll' to import mail, then refresh the current buffer."
> -  (interactive)
> +  (interactive "P")
>    (notmuch-poll)
> -  (notmuch-refresh-this-buffer))
> +  (notmuch-refresh-this-buffer prefix))
>  
>  (defun notmuch-prettify-subject (subject)
>    ;; This function is used by `notmuch-search-process-filter' which
> diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
> index f2487ab..1772d10 100644
> --- a/emacs/notmuch-show.el
> +++ b/emacs/notmuch-show.el
> @@ -1358,7 +1358,7 @@ This includes:
>      ;; Go to the previously open message.
>      (notmuch-show-goto-message current)))
>  
> -(defun notmuch-show-refresh-view (&optional reset-state)
> +(defun notmuch-show-refresh-view (&optional reset-state ignore)
>    "Refresh the current view.
>  
>  Refreshes the current view, observing changes in display
> diff --git a/emacs/notmuch-tree.el b/emacs/notmuch-tree.el
> index 1555812..c347712 100644
> --- a/emacs/notmuch-tree.el
> +++ b/emacs/notmuch-tree.el
> @@ -271,7 +271,6 @@ FUNC."
>      (define-key map "x" 'notmuch-tree-quit)
>      (define-key map "A" 'notmuch-tree-archive-thread)
>      (define-key map "a" 'notmuch-tree-archive-message-then-next)
> -    (define-key map "=" 'notmuch-tree-refresh-view)
>      (define-key map "z" 'notmuch-tree-to-tree)
>      (define-key map "n" 'notmuch-tree-next-matching-message)
>      (define-key map "p" 'notmuch-tree-prev-matching-message)
> @@ -571,9 +570,9 @@ message will be \"unarchived\", i.e. the tag changes in
>    (when (window-live-p notmuch-tree-message-window)
>      (notmuch-tree-show-message-in)))
>  
> -(defun notmuch-tree-refresh-view ()
> +(defun notmuch-tree-refresh-view (&rest ignore)
>    "Refresh view."
> -  (interactive)
> +  (interactive "P")
>    (let ((inhibit-read-only t)
>  	(basic-query notmuch-tree-basic-query)
>  	(query-context notmuch-tree-query-context)
> diff --git a/emacs/notmuch.el b/emacs/notmuch.el
> index 888672b..ee1bb54 100644
> --- a/emacs/notmuch.el
> +++ b/emacs/notmuch.el
> @@ -982,7 +982,7 @@ the configured default sort order."
>  	  (set-process-query-on-exit-flag proc nil))))
>      (run-hooks 'notmuch-search-hook)))
>  
> -(defun notmuch-search-refresh-view ()
> +(defun notmuch-search-refresh-view (&rest ignore)
>    "Refresh the current view.
>  
>  Kills the current buffer and runs a new search with the same
> -- 
> 2.1.4
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> https://notmuchmail.org/mailman/listinfo/notmuch


More information about the notmuch mailing list