[PATCH 1/1] emacs: fix notmuch-mua-reply point placement when signature involved
authorTomi.Ollila <tomi.ollila@iki.fi>
Wed, 4 Sep 2013 19:20:58 +0000 (22:20 +0300)
committerW. Trevor King <wking@tremily.us>
Fri, 7 Nov 2014 17:56:56 +0000 (09:56 -0800)
ca/7b119723a55b58d3c63b372984c8a6f3eb96df [new file with mode: 0644]

diff --git a/ca/7b119723a55b58d3c63b372984c8a6f3eb96df b/ca/7b119723a55b58d3c63b372984c8a6f3eb96df
new file mode 100644 (file)
index 0000000..0204721
--- /dev/null
@@ -0,0 +1,90 @@
+Return-Path: <too@guru-group.fi>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+       by olra.theworths.org (Postfix) with ESMTP id 1DE00429E3C\r
+       for <notmuch@notmuchmail.org>; Wed,  4 Sep 2013 12:21:25 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: 0\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none]\r
+       autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+       by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+       with ESMTP id ifBI5qN9ZnW1 for <notmuch@notmuchmail.org>;\r
+       Wed,  4 Sep 2013 12:21:17 -0700 (PDT)\r
+Received: from guru.guru-group.fi (guru.guru-group.fi [46.183.73.34])\r
+       by olra.theworths.org (Postfix) with ESMTP id 082D8429E34\r
+       for <notmuch@notmuchmail.org>; Wed,  4 Sep 2013 12:21:17 -0700 (PDT)\r
+Received: by guru.guru-group.fi (Postfix, from userid 501)\r
+       id 1BE1C100063; Wed,  4 Sep 2013 22:21:12 +0300 (EEST)\r
+From: "Tomi.Ollila" <tomi.ollila@iki.fi>\r
+To: notmuch@notmuchmail.org\r
+Subject: [PATCH 1/1] emacs: fix notmuch-mua-reply point placement when\r
+       signature involved\r
+Date: Wed,  4 Sep 2013 22:20:58 +0300\r
+Message-Id: <1378322458-30159-1-git-send-email-tomi.ollila@iki.fi>\r
+X-Mailer: git-send-email 1.8.0\r
+Cc: tomi.ollila@iki.fi\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+       <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Wed, 04 Sep 2013 19:21:25 -0000\r
+\r
+From: Tomi Ollila <tomi.ollila@iki.fi>\r
+\r
+When composing a reply, notmuch-mua-reply attempts to  cite the\r
+the original message by inserting it before the user signature, if\r
+one is present. The existing method used to search the signature\r
+separator backward from the end of the buffer and then move one\r
+line up. In case of variable `message-signature-insert-empty-line'\r
+being nil (and `message-signature-setup-hook' not intervening) this\r
+caused point to go to the beginning of '--text follows this line--'\r
+separator line, and citation was inserted there.\r
+This change checks the value of `message-signature-insert-empty-line'\r
+and doesn't move point if that is nil. Additional narrowing to\r
+the body region ensures that point never goes to the separator line\r
+(or beyond).\r
+\r
+Original patch from "Geoffrey H. Ferrari", continued with iterations\r
+from Jani and Mark.\r
+---\r
+ emacs/notmuch-mua.el | 12 ++++++++----\r
+ 1 file changed, 8 insertions(+), 4 deletions(-)\r
+\r
+diff --git a/emacs/notmuch-mua.el b/emacs/notmuch-mua.el\r
+index 2baae5f..0280c9f 100644\r
+--- a/emacs/notmuch-mua.el\r
++++ b/emacs/notmuch-mua.el\r
+@@ -192,10 +192,14 @@ list."\r
\r
+       ;; Insert the message body - but put it in front of the signature\r
+       ;; if one is present\r
+-      (goto-char (point-max))\r
+-      (if (re-search-backward message-signature-separator nil t)\r
+-        (forward-line -1)\r
+-      (goto-char (point-max)))\r
++      (save-restriction\r
++      (message-goto-body)\r
++      (narrow-to-region (point) (point-max))\r
++      (goto-char (point-max))\r
++      (if (re-search-backward message-signature-separator nil t)\r
++          (if message-signature-insert-empty-line\r
++              (forward-line -1))\r
++        (goto-char (point-max))))\r
\r
+       (let ((from (plist-get original-headers :From))\r
+           (date (plist-get original-headers :Date))\r
+-- \r
+1.8.0\r
+\r