(defvar notmuch-show-signature-lines-max 12
"Maximum length of signature that will be hidden by default.")
-(defvar notmuch-show-citation-lines-prefix 4
- "Always show at least this many lines of a citation.
+(defvar notmuch-show-citation-lines-prefix 3
+ "Always show at least this many lines at the start of a citation.
-If there is one more line, show that, otherwise collapse
-remaining lines into a button.")
+If there is one more line than the sum of
+`notmuch-show-citation-lines-prefix' and
+`notmuch-show-citation-lines-suffix', show that, otherwise
+collapse remaining lines into a button.")
+
+(defvar notmuch-show-citation-lines-suffix 3
+ "Always show at least this many lines at the end of a citation.
+
+If there is one more line than the sum of
+`notmuch-show-citation-lines-prefix' and
+`notmuch-show-citation-lines-suffix', show that, otherwise
+collapse remaining lines into a button.")
(defvar notmuch-show-message-begin-regexp "\fmessage{")
(defvar notmuch-show-message-end-regexp "\fmessage}")
(let* ((cite-start (match-beginning 0))
(cite-end (match-end 0))
(cite-lines (count-lines cite-start cite-end)))
- (when (> cite-lines (1+ notmuch-show-citation-lines-prefix))
+ (overlay-put (make-overlay cite-start cite-end) 'face 'message-cited-text-face)
+ (when (> cite-lines (1+ (+ notmuch-show-citation-lines-prefix notmuch-show-citation-lines-suffix)))
(goto-char cite-start)
(forward-line notmuch-show-citation-lines-prefix)
- (notmuch-show-region-to-button
- (point) cite-end
- "citation"
- indent
- (format notmuch-show-citation-button-format
- (- cite-lines notmuch-show-citation-lines-prefix))
- ))))
+ (let ((hidden-start (point)))
+ (goto-char cite-end)
+ (forward-line (- notmuch-show-citation-lines-suffix))
+ (notmuch-show-region-to-button
+ hidden-start (point)
+ "citation"
+ indent
+ (format notmuch-show-citation-button-format
+ (- cite-lines notmuch-show-citation-lines-prefix notmuch-show-citation-lines-suffix))
+ )))))
(if (and (< (point) end)
(re-search-forward signature-regexp end t))
(let* ((sig-start (match-beginning 0))
(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)
:group 'notmuch)
(defun notmuch-show-do-stash (text)
- (kill-new text)
- (message (concat "Saved: " text)))
+ (kill-new text)
+ (message "Saved: %s" text))
(defun notmuch-show-stash-cc ()
"Copy CC field of current message to kill-ring."
(erase-buffer)
(goto-char (point-min))
(save-excursion
- (let* ((basic-args (list notmuch-command nil t nil "show" "--entire-thread" thread-id))
- (args (if query-context (append basic-args (list "and (" query-context ")")) basic-args)))
+ (let* ((basic-args (list notmuch-command nil t nil "show" "--entire-thread" "\'" thread-id))
+ (args (if query-context
+ (append basic-args (list "and (" query-context ")\'"))
+ (append basic-args (list "\'")))))
(apply 'call-process args)
(when (and (eq (buffer-size) 0) query-context)
(apply 'call-process basic-args)))