[PATCH v4 1/6] emacs: make the refresh code more consistent

Tomi Ollila tomi.ollila at iki.fi
Sun Oct 9 09:19:06 PDT 2016


On Sun, Oct 09 2016, Ioan-Adrian Ratiu <adi at adirat.com> wrote:

> From: Mark Walters <markwalters1009 at gmail.com>
>
> 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.
> ---
>  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)

This changes the api but probably it is not dangerous (but if there were
calls (notmuch-hello-update t) from users' own code that would not work
as it used to be (alternative would be (to add) separate function (and noise))

I looked the following patches and those makes the changes here better to
understand (and imo some things nicer).

I can live with these changesets applied (and that one api changed),
provided that Mark who has been more involved looking the previous
changes approve theseā€¦

Tomi

>    "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.10.0
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> https://notmuchmail.org/mailman/listinfo/notmuch


More information about the notmuch mailing list