[PATCH v2 2/5] emacs: add no-display arg to notmuch-hello-refresh-hook
Tomi Ollila
tomi.ollila at iki.fi
Fri Sep 7 00:56:21 PDT 2012
On Sun, Sep 02 2012, Jani Nikula <jani at nikula.org> wrote:
> Add no-display arg to notmuch-hello-refresh-hook to allow each hook to
> decide what is appropriate when no-display is t, i.e. when not
> switching to the notmuch-hello buffer.
>
> This breaks existing hooks people might have, which will now need to
> accept the argument.
>
> Signed-off-by: Jani Nikula <jani at nikula.org>
> ---
> emacs/notmuch-hello.el | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/emacs/notmuch-hello.el b/emacs/notmuch-hello.el
> index 4dfe5d2..fa14443 100644
> --- a/emacs/notmuch-hello.el
> +++ b/emacs/notmuch-hello.el
> @@ -816,7 +816,7 @@ it (i.e. use `set-buffer' rather than `switch-to-buffer')."
> (unless (widget-at)
> (when notmuch-hello-search-pos
> (goto-char notmuch-hello-search-pos)))))
> - (run-hooks 'notmuch-hello-refresh-hook)
> + (run-hook-with-args 'notmuch-hello-refresh-hook no-display)
> (setq notmuch-hello-first-run nil))
I had already written a bit of reply for this (for +1:ng the change), but
luckily fall into some emacs documentation:
http://sunsite.ualberta.ca/Documentation/Gnu/emacs-lisp-ref-20.5/html_node/elisp_357.html
--8<----8<----8<----8<----8<----8<----8<----8<----8<--
23.6 Hooks
==========
...
Most of the hooks in Emacs are normal hooks. These variables contain lists
of functions to be called with no arguments. When the hook name ends in
`-hook', that tells you it is normal. We try to make all hooks normal, as
much as possible, so that you can use them in a uniform way.
...
If the hook variable's name does not end with `-hook', that indicates it is
probably an abnormal hook; you should look at its documentation to see how
to use the hook properly.
--8<----8<----8<----8<----8<----8<----8<----8<----8<--
And, indeed, grepping through emacs 24.2 sources when run-hooks-with-args
is used then the variable symbol doesn't end with -hook, for example:
(run-hook-with-args 'widget-edit-functions widget))
So, Jani -- probably you can use the no-display from the dynamic scope of
the caller in your hook in .emacs -- not nice but...
... or propose a change to the hook name -- or add another hook...
> (defun notmuch-folder ()
> --
> 1.7.9.5
Tomi
More information about the notmuch
mailing list