[PATCH 1/2] emacs: limit search for attachment to stop at first mime-part

ekeberg at kth.se ekeberg at kth.se
Thu Dec 12 15:35:35 PST 2019


From: Örjan Ekeberg <ekeberg at kth.se>

This commit changes the behaviour of notmuch-mua-attachment-check
so that it stops searching for notmuch-mua-attachment-regexp when a
new mime-part is reached.  This avoids false warnings when matching
words occur inside forwarded messages.
---
 emacs/notmuch-mua.el | 25 ++++++++++++++-----------
 1 file changed, 14 insertions(+), 11 deletions(-)

diff --git a/emacs/notmuch-mua.el b/emacs/notmuch-mua.el
index 7fdd76bc..76572b87 100644
--- a/emacs/notmuch-mua.el
+++ b/emacs/notmuch-mua.el
@@ -137,17 +137,20 @@ Typically this is added to `notmuch-mua-send-hook'."
 	 ;; When the message mentions attachment...
 	 (save-excursion
 	   (message-goto-body)
-	   (loop while (re-search-forward notmuch-mua-attachment-regexp (point-max) t)
-		 ;; For every instance of the "attachment" string
-		 ;; found, examine the text properties. If the text
-		 ;; has either a `face' or `syntax-table' property
-		 ;; then it is quoted text and should *not* cause the
-		 ;; user to be asked about a missing attachment.
-		 if (let ((props (text-properties-at (match-beginning 0))))
-		      (not (or (memq 'syntax-table props)
-			       (memq 'face props))))
-		 return t
-		 finally return nil))
+	   ;; Limit search from reaching other possible parts of the message
+	   (let ((search-limit (search-forward "\n<#" nil t)))
+	     (message-goto-body)
+	     (loop while (re-search-forward notmuch-mua-attachment-regexp search-limit t)
+		   ;; For every instance of the "attachment" string
+		   ;; found, examine the text properties. If the text
+		   ;; has either a `face' or `syntax-table' property
+		   ;; then it is quoted text and should *not* cause the
+		   ;; user to be asked about a missing attachment.
+		   if (let ((props (text-properties-at (match-beginning 0))))
+			(not (or (memq 'syntax-table props)
+				 (memq 'face props))))
+		   return t
+		   finally return nil)))
 	 ;; ...but doesn't have a part with a filename...
 	 (save-excursion
 	   (message-goto-body)
-- 
2.24.0



More information about the notmuch mailing list