From: David Bremner <[email protected]>

- 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

Reply via email to