]> git.notmuchmail.org Git - notmuch/blobdiff - emacs/notmuch-show.el
notmuch.el: Colour cited regions and signatures with message-cited-text-face
[notmuch] / emacs / notmuch-show.el
index cc1f9053c4266f4fb6f0943f1bfcaa8999162eff..589a73773803b2d1e51fc546927c74f89f29e488 100644 (file)
@@ -679,6 +679,7 @@ is what to put on the button."
       (let* ((cite-start (match-beginning 0))
             (cite-end  (match-end 0))
             (cite-lines (count-lines cite-start cite-end)))
+       (overlay-put (make-overlay cite-start cite-end) 'face 'message-cited-text-face)
        (when (> cite-lines (1+ notmuch-show-citation-lines-prefix))
          (goto-char cite-start)
          (forward-line notmuch-show-citation-lines-prefix)
@@ -695,13 +696,15 @@ is what to put on the button."
               (sig-end (match-end 0))
               (sig-lines (1- (count-lines sig-start end))))
          (if (<= sig-lines notmuch-show-signature-lines-max)
-             (notmuch-show-region-to-button
-              sig-start
-              end
-              "signature"
-              indent
-              (format notmuch-show-signature-button-format sig-lines)
-              ))))))
+             (progn
+               (overlay-put (make-overlay sig-start end) 'face 'message-cited-text-face)
+               (notmuch-show-region-to-button
+                sig-start
+                end
+                "signature"
+                indent
+                (format notmuch-show-signature-button-format sig-lines)
+                )))))))
 
 (defun notmuch-show-markup-part (beg end depth)
   (if (re-search-forward notmuch-show-part-begin-regexp nil t)
@@ -959,17 +962,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)