From: Carl Worth <cworth@cworth.org>
Date: Tue, 17 Nov 2009 00:39:59 +0000 (-0800)
Subject: notmuch.el: Consider an entire line of underscores as a signature separator.
X-Git-Tag: 0.1~484
X-Git-Url: https://git.cworth.org/git?a=commitdiff_plain;h=057b3060e8badb1bba7d0d24cd0a05148113e2e2;p=notmuch-old

notmuch.el: Consider an entire line of underscores as a signature separator.

This is the default separator used by mailman, so there's a lot of
clutter in thread displays without this. Also, we not provide a nice
variable to the user (notmuch-show-signature-regexp) for configuring
this.
---

diff --git a/notmuch.el b/notmuch.el
index f1523ac0..cf18c95f 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