aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Clements <amdragon@MIT.EDU>2012-07-21 13:37:11 -0400
committerDavid Bremner <bremner@debian.org>2012-07-24 09:23:53 -0300
commit5d0883ea1bf5419589ba27c12994c36495f89255 (patch)
treed349c1ae4539049f82c83ca26e1d8ddaf0488f64
parent90e741ef81668d9b7db62b57e9a0c88877e2631e (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.
-rw-r--r--emacs/notmuch.el13
1 files changed, 10 insertions, 3 deletions
diff --git a/emacs/notmuch.el b/emacs/notmuch.el
index d092528..fd1836f 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."