From: Dmitry Kurochkin <dmitry.kuroch...@gmail.com>

For message-fetch-field the buffer is expected to be narrowed to
just the header of the message.  That is not the case when
notmuch-fcc-header-setup is run, hence a wrong header value may be
returned.  E.g. when forwarding an
email, (message-fetch-field "From") returns the From header value
of the forwarded email.

Message-field-value is the same as message-fetch-field, only
narrows the buffer to the headers first.

Signed-off-by: Jameson Graef Rollins <jrollins at finestructure.net>
---
 emacs/notmuch-maildir-fcc.el |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/emacs/notmuch-maildir-fcc.el b/emacs/notmuch-maildir-fcc.el
index b79f6a3..b6c6e2a 100644
--- a/emacs/notmuch-maildir-fcc.el
+++ b/emacs/notmuch-maildir-fcc.el
@@ -80,7 +80,7 @@ will NOT be removed or replaced."
   (let ((subdir
         (cond
          ((or (not notmuch-fcc-dirs)
-              (message-fetch-field "Fcc"))
+              (message-field-value "Fcc"))
           ;; Nothing set or an existing header.
           nil)

@@ -93,7 +93,7 @@ will NOT be removed or replaced."
           (error "Invalid `notmuch-fcc-dirs' setting (old style)"))

          ((listp notmuch-fcc-dirs)
-          (let* ((from (message-fetch-field "From"))
+          (let* ((from (message-field-value "From"))
                  (match
                   (catch 'first-match
                     (dolist (re-folder notmuch-fcc-dirs)
@@ -118,7 +118,7 @@ will NOT be removed or replaced."
                  (concat (notmuch-database-path) "/" subdir)))))

       ;; finally test if fcc points to a valid maildir
-      (let ((fcc-header (message-fetch-field "Fcc")))
+      (let ((fcc-header (message-field-value "Fcc")))
        (unless (notmuch-maildir-fcc-dir-is-maildir-p fcc-header)
          (cond ((not (file-writable-p fcc-header))
                 (error (format "No permission to create %s, which does not 
exist"
-- 
1.7.4.4

Reply via email to