[PATCH] emacs: Add `notmuch-jump-to-recent-buffer'.
Tomi Ollila
tomi.ollila at iki.fi
Tue Dec 20 00:02:11 PST 2011
On Mon, 22 Nov 2010 11:51:04 +0000, David Edmondson <dme at dme.org> wrote:
> >From a Carl Worth idea: Add `notmuch-jump-to-recent-buffer', which
> will select the most recently used notmuch buffer (search, show or
> hello). If no recent buffer is found, run `notmuch'.
>
> It is expected that the user will global bind this command to a key
> sequence.
> ---
See comments inline below.
> emacs/notmuch.el | 18 ++++++++++++++++++
> 1 files changed, 18 insertions(+), 0 deletions(-)
>
> diff --git a/emacs/notmuch.el b/emacs/notmuch.el
> index e8d4d98..67271d1 100644
> --- a/emacs/notmuch.el
> +++ b/emacs/notmuch.el
> @@ -962,6 +962,24 @@ current search results AND that are tagged with the given tag."
> (interactive)
> (notmuch-hello))
>
> +;;;###autoload
> +(defun notmuch-jump-to-recent-buffer ()
> + "Jump to the most recent notmuch buffer (search, show or hello).
> +
> +If no recent buffer is found, run `notmuch'."
> + (interactive)
> + (let ((last
> + (loop for buffer in (buffer-list)
> + if (progn
Are the last few lines above working... if without '(' and no
loop (nor for) function in my emacs (where notmuch loaded).
> + (set-buffer buffer)
I really like Aaron's comment about with-current-buffer...
> + (or (eq major-mode 'notmuch-show-mode)
> + (eq major-mode 'notmuch-search-mode)
> + (eq major-mode 'notmuch-hello-mode)))
... memq is also nice; in case used the list should be done beforehand with
(let* ...
> + return buffer)))
> + (if last
> + (switch-to-buffer last)
> + (notmuch))))
> +
> (setq mail-user-agent 'notmuch-user-agent)
>
> (provide 'notmuch)
> --
> 1.7.2.3
>
Tomi
More information about the notmuch
mailing list