diff options
author | Austin Clements <amdragon@MIT.EDU> | 2012-07-21 13:37:11 -0400 |
---|---|---|
committer | David Bremner <bremner@debian.org> | 2012-07-24 09:23:53 -0300 |
commit | 5d0883ea1bf5419589ba27c12994c36495f89255 (patch) | |
tree | d349c1ae4539049f82c83ca26e1d8ddaf0488f64 /emacs/notmuch.el | |
parent | 90e741ef81668d9b7db62b57e9a0c88877e2631e (diff) |
emacs: Fix navigation of multi-line search result formats
At this point, the only remaining functions that don't support
multi-line search result formats are the thread navigation functions.
This patch fixes that by rewriting them in terms of
notmuch-search-result-{beginning,end}.
This changes the behavior of notmuch-search-previous-thread slightly
so that if point isn't at the beginning of a result, it first moves
point to the beginning of the result.
Diffstat (limited to 'emacs/notmuch.el')
-rw-r--r-- | emacs/notmuch.el | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/emacs/notmuch.el b/emacs/notmuch.el index d0925282..fd1836f1 100644 --- a/emacs/notmuch.el +++ b/emacs/notmuch.el @@ -293,18 +293,25 @@ For a mouse binding, return nil." (defun notmuch-search-next-thread () "Select the next thread in the search results." (interactive) - (forward-line 1)) + (when (notmuch-search-get-result (notmuch-search-result-end)) + (goto-char (notmuch-search-result-end)))) (defun notmuch-search-previous-thread () "Select the previous thread in the search results." (interactive) - (forward-line -1)) + (if (notmuch-search-get-result) + (unless (bobp) + (goto-char (notmuch-search-result-beginning (- (point) 1)))) + ;; We must be past the end; jump to the last result + (notmuch-search-last-thread))) (defun notmuch-search-last-thread () "Select the last thread in the search results." (interactive) (goto-char (point-max)) - (forward-line -2)) + (forward-line -2) + (let ((beg (notmuch-search-result-beginning))) + (when beg (goto-char beg)))) (defun notmuch-search-first-thread () "Select the first thread in the search results." |