From 1d9ec88d878d9817f18c98e71fa8b987d74f0508 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96rjan=20Ekeberg?= Date: Fri, 13 Dec 2019 00:35:35 +0100 Subject: [PATCH] emacs: limit search for attachment to stop at first mime-part 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)