X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=emacs%2Fnotmuch-show.el;h=1875fdc1401ec16805050d5584abe25526c6206e;hp=cc1f9053c4266f4fb6f0943f1bfcaa8999162eff;hb=8364c2f36edd471a6841025553fad663b50a8b1a;hpb=e8414a72d478b55d2a5dd8b2fb30c67ee60b1732 diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el index cc1f9053..1875fdc1 100644 --- a/emacs/notmuch-show.el +++ b/emacs/notmuch-show.el @@ -959,17 +959,26 @@ All currently available key bindings: (lambda() (hl-line-mode 1) )) -(defun notmuch-show (thread-id &optional parent-buffer query-context) +(defun notmuch-show (thread-id &optional parent-buffer query-context buffer-name) "Run \"notmuch show\" with the given thread ID and display results. The optional PARENT-BUFFER is the notmuch-search buffer from which this notmuch-show command was executed, (so that the next thread from that buffer can be show when done with this one). -The optional QUERY-CONTEXT is a notmuch search term. Only messages from the thread -matching this search term are shown if non-nil. " +The optional QUERY-CONTEXT is a notmuch search term. Only +messages from the thread matching this search term are shown if +non-nil. + +The optional BUFFER-NAME provides the name of the buffer in which +the message thread is shown. If it is nil (which occurs when the +command is called interactively) the argument to the function is +used." (interactive "sNotmuch show: ") - (let ((buffer (get-buffer-create (concat "*notmuch-show-" thread-id "*")))) + (when (null buffer-name) + (setq buffer-name (concat "*notmuch-" thread-id "*"))) + (let* ((thread-buffer-name (generate-new-buffer-name buffer-name)) + (buffer (get-buffer-create thread-buffer-name))) (switch-to-buffer buffer) (notmuch-show-mode) (set (make-local-variable 'notmuch-show-parent-buffer) parent-buffer)