summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2010-03-10 11:07:58 -0800
committerCarl Worth <cworth@cworth.org>2010-03-10 11:07:58 -0800
commitbb61755afe0deddbb146222a4e42547b00a7fd76 (patch)
tree4e9bb868155827775dcf0fa18dc1bc2afbb7a0c2
parent70ef8de79850035bb0149ea0ab900a5dd64439b9 (diff)
emacs: Fix search refresh when on the last line of a search buffer.
We currently allow the cursor to be positioned on the "End of search results" line after the last thread in a search buffer. When refreshing on this line, there's no thread ID to be used as the target. Previously, a refresh from this case would result in a nil thread target, but we were also using nil to indicate that the target thread had been found. This caused the position to be lost during refresh, (the cursor would move from the last line in the buffer to the first). We fix this by using a magic string of "found" rather than nil to clearly indicate whether the target thread has actually been found.
-rw-r--r--emacs/notmuch.el7
1 files changed, 3 insertions, 4 deletions
diff --git a/emacs/notmuch.el b/emacs/notmuch.el
index 904272d..117a365 100644
--- a/emacs/notmuch.el
+++ b/emacs/notmuch.el
@@ -1482,7 +1482,7 @@ This function advances the next thread when finished."
(insert (format " (process returned %d)" exit-status)))
(insert "\n")
(if (and atbob
- notmuch-search-target-thread)
+ (not (string= notmuch-search-target-thread "found")))
(set 'never-found-target-thread t))))))
(if (and never-found-target-thread
notmuch-search-target-line)
@@ -1515,11 +1515,10 @@ This function advances the next thread when finished."
(put-text-property beg (point-marker) 'notmuch-search-thread-id thread-id)
(put-text-property beg (point-marker) 'notmuch-search-authors authors)
(put-text-property beg (point-marker) 'notmuch-search-subject subject)
- (if (and notmuch-search-target-thread
- (string= thread-id notmuch-search-target-thread))
+ (if (string= thread-id notmuch-search-target-thread)
(progn
(set 'found-target beg)
- (set 'notmuch-search-target-thread nil))))
+ (set 'notmuch-search-target-thread "found"))))
(set 'line (match-end 0)))
(set 'more nil)))))
(if found-target