[notmuch] [PATCH 2/2] notmuch.el: show some of citation even when hiding.

david at tethera.net david at tethera.net
Fri Dec 25 12:09:08 PST 2009


From: David Bremner <bremner at unb.ca>

- rename notmuch-show-citation-lines-min to n-s-c-l-prefix
- call forward-line with the appropriate parameter to adjust
  region to be hidden.
- change citation button text so that it makes (some) sense when citation is shown
---
 notmuch.el |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/notmuch.el b/notmuch.el
index 8a51d27..c280411 100644
--- a/notmuch.el
+++ b/notmuch.el
@@ -99,7 +99,7 @@ pattern can still test against the entire line).")
 Can use up to one integer format parameter, i.e. %d")
 
 (defvar notmuch-show-citation-button-format 
-  "[ %d-line hidden citation. Click/Enter to show ]"
+  "[ %d more citation lines. Click/Enter to toggle visibility. ]"
   "String used to construct button text for hidden citations.
 
 Can use up to one integer format parameter, i.e. %d")
@@ -107,8 +107,11 @@ Can use up to one integer format parameter, i.e. %d")
 (defvar notmuch-show-signature-lines-max 12
   "Maximum length of signature that will be hidden by default.")
 
-(defvar notmuch-show-citation-lines-min 4
-  "Minimum length of citation that will be hidden.")
+(defvar notmuch-show-citation-lines-prefix 4
+  "Always show at least this many lines of a citation.
+
+If there is one more line, show that, otherwise collapse
+remaining lines into a button.")
 
 (defvar notmuch-command "notmuch"
   "Command to run the notmuch binary.")
@@ -660,12 +663,15 @@ 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)))
-	(if (>= cite-lines notmuch-show-citation-lines-min)
+	(when (>  cite-lines (1+ notmuch-show-citation-lines-prefix))
+	    (goto-char cite-start)
+	    (forward-line notmuch-show-citation-lines-prefix)
 	    (notmuch-show-region-to-button 
-	     cite-start cite-end
+	     (point) cite-end
 	     "citation"
 	     indent
-	     (format notmuch-show-citation-button-format cite-lines)
+	     (format notmuch-show-citation-button-format 
+		     (- cite-lines notmuch-show-citation-lines-prefix))
 	     ))))
     (if (and (< (point) end) 
 	     (re-search-forward signature-regexp end t))
-- 
1.6.5.7



More information about the notmuch mailing list