X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch.el;h=8894a8e194716f444489b1676c3630c545c82c95;hp=6d609dba752534438bfca5f3db73fc3d07186879;hb=dac31c9e01a18130f141994c98a48800cdb03efa;hpb=d5068983b87c76798399d1d4d26e638e2feb6e0d diff --git a/notmuch.el b/notmuch.el index 6d609dba..8894a8e1 100644 --- a/notmuch.el +++ b/notmuch.el @@ -57,6 +57,16 @@ "Keymap for \"notmuch show\" buffers.") (fset 'notmuch-show-mode-map notmuch-show-mode-map) +(defvar notmuch-show-signature-regexp "\\(-- ?\\|_+\\)$" + "Pattern to match a line that separates content from signature. + +The regexp can (and should) include $ to match the end of the +line, but should not include ^ to match the beginning of the +line. This is because notmuch may have inserted additional space +for indentation at the beginning of the line. But notmuch will +move past the indentation when testing this pattern, (so that the +pattern can still test against the entire line).") + (defvar notmuch-show-signature-lines-max 12 "Maximum length of signature that will be hidden by default.") @@ -443,7 +453,8 @@ which this thread was originally shown." (concat indent "[" (number-to-string (count-lines beg-sub (point))) "-line citation. Press 'c' to show.]\n"))))) - (if (looking-at "[[:space:]]*-- ?$") + (move-to-column depth) + (if (looking-at notmuch-show-signature-regexp) (let ((sig-lines (- (count-lines beg-sub end) 1))) (if (<= sig-lines notmuch-show-signature-lines-max) (progn @@ -464,11 +475,15 @@ which this thread was originally shown." (let ((beg (point-marker))) (re-search-forward notmuch-show-part-end-regexp) (let ((end (copy-marker (match-beginning 0)))) + (goto-char end) + (if (not (bolp)) + (insert "\n")) (indent-rigidly beg end depth) (notmuch-show-markup-citations-region beg end depth) ; Advance to the next part (if any) (so the outer loop can ; determine whether we've left the current message. - (re-search-forward notmuch-show-part-begin-regexp nil t)))) + (if (re-search-forward notmuch-show-part-begin-regexp nil t) + (beginning-of-line))))) (goto-char end))) (defun notmuch-show-markup-parts-region (beg end depth) @@ -776,7 +791,7 @@ global search. (goto-char (point-min)) (while (not (eobp)) (notmuch-search-markup-this-thread-id) - (next-line)))) + (forward-line)))) (defun notmuch-search-show-thread () (interactive)