From: Örjan Ekeberg Date: Thu, 12 Dec 2019 23:35:35 +0000 (+0100) Subject: emacs: limit search for attachment to stop at first mime-part X-Git-Tag: archive/debian/0.30_rc0-1~105 X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=commitdiff_plain;h=1d9ec88d878d9817f18c98e71fa8b987d74f0508 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. --- 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)