From: Ioan-Adrian Ratiu <>

If no-display is non-nil when calling notmuch-search then do not force
the search buffer to be displayed.

Signed-off-by: Ioan-Adrian Ratiu <>
 emacs/notmuch.el | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/emacs/notmuch.el b/emacs/notmuch.el
index 673811c..8f0053c 100644
--- a/emacs/notmuch.el
+++ b/emacs/notmuch.el
@@ -926,7 +926,7 @@ PROMPT is the string to prompt with."
 (put 'notmuch-search 'notmuch-doc "Search for messages.")
-(defun notmuch-search (&optional query oldest-first target-thread target-line)
+(defun notmuch-search (&optional query oldest-first target-thread target-line 
   "Display threads matching QUERY in a notmuch-search buffer.
 If QUERY is nil, it is read interactively from the minibuffer.
@@ -937,6 +937,9 @@ Other optional parameters are used as follows:
                  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.
+  NO-DISPLAY: Do not try to foreground the search results buffer. If it is
+              already foregrounded i.e. displayed in a window, this has no
+              effect, meaning the buffer will remain visible.
 When called interactively, this will prompt for a query and use
 the configured default sort order."
@@ -950,7 +953,9 @@ the configured default sort order."
   (let* ((query (or query (notmuch-read-query "Notmuch search: ")))
         (buffer (get-buffer-create (notmuch-search-buffer-title query))))
-    (switch-to-buffer buffer)
+    (if no-display
+       (set-buffer buffer)
+      (switch-to-buffer buffer))
     ;; Don't track undo information for this buffer
     (set 'buffer-undo-list t)

notmuch mailing list

Reply via email to