mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
emacs: notmuch search bugfix
The recent change to use json for notmuch-search.el introduced a bug in the code for keeping position on refresh. The problem is a comparison between (plist-get result :thread) and a thread-id returned by notmuch-search-find-thread-id: the latter is prefixed with "thread:" We fix this by adding an option to notmuch-search-find-thread-id to return the bare thread-id. It appears that notmuch-search-refresh-view is the only caller of notmuch-search that supplies a thread-id so this change should be safe (but could theoretically break users .emacs functions).
This commit is contained in:
parent
94c3b40d41
commit
5811550cdd
2 changed files with 10 additions and 5 deletions
3
NEWS
3
NEWS
|
@ -55,6 +55,9 @@ user-specified formatting
|
|||
you've customized this variable, you may have to change your date
|
||||
format from `"%s "` to `"%12s "`.
|
||||
|
||||
The thread-id for the `target-thread` argument for `notmuch-search` should
|
||||
now be supplied without the "thread:" prefix.
|
||||
|
||||
Notmuch 0.13.2 (2012-06-02)
|
||||
===========================
|
||||
|
||||
|
|
|
@ -475,10 +475,12 @@ BEG."
|
|||
(push (plist-get (notmuch-search-get-result pos) property) output)))
|
||||
output))
|
||||
|
||||
(defun notmuch-search-find-thread-id ()
|
||||
"Return the thread for the current thread"
|
||||
(defun notmuch-search-find-thread-id (&optional bare)
|
||||
"Return the thread for the current thread
|
||||
|
||||
If BARE is set then do not prefix with \"thread:\""
|
||||
(let ((thread (plist-get (notmuch-search-get-result) :thread)))
|
||||
(when thread (concat "thread:" thread))))
|
||||
(when thread (concat (unless bare "thread:") thread))))
|
||||
|
||||
(defun notmuch-search-find-thread-id-region (beg end)
|
||||
"Return a list of threads for the current region"
|
||||
|
@ -936,7 +938,7 @@ If `query' is nil, it is read interactively from the minibuffer.
|
|||
Other optional parameters are used as follows:
|
||||
|
||||
oldest-first: A Boolean controlling the sort order of returned threads
|
||||
target-thread: A thread ID (with the thread: prefix) that will be made
|
||||
target-thread: A thread ID (without the thread: prefix) that will be made
|
||||
current if it appears in the search results.
|
||||
target-line: The line number to move to if the target thread does not
|
||||
appear in the search results."
|
||||
|
@ -993,7 +995,7 @@ same relative position within the new buffer."
|
|||
(interactive)
|
||||
(let ((target-line (line-number-at-pos))
|
||||
(oldest-first notmuch-search-oldest-first)
|
||||
(target-thread (notmuch-search-find-thread-id))
|
||||
(target-thread (notmuch-search-find-thread-id 'bare))
|
||||
(query notmuch-search-query-string)
|
||||
(continuation notmuch-search-continuation))
|
||||
(notmuch-kill-this-buffer)
|
||||
|
|
Loading…
Reference in a new issue