aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÖrjan Ekeberg <ekeberg@kth.se>2019-12-13 00:35:35 +0100
committerDavid Bremner <david@tethera.net>2019-12-14 07:28:42 -0400
commit1d9ec88d878d9817f18c98e71fa8b987d74f0508 (patch)
tree4d7293296e9ee588aa25aef87287f9f809d5a06d
parent6cd47227de09556dbc611d842c9b4b0f077598fc (diff)
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.
-rw-r--r--emacs/notmuch-mua.el25
1 files 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)