[PATCH 15/25] Use message-field-value instead of message-fetch-field in FCC header setup.

Subject: [PATCH 15/25] Use message-field-value instead of message-fetch-field in FCC header setup.

Date: Sat, 28 May 2011 14:51:50 -0700

To: Notmuch Mail

Cc:

From: Jameson Graef Rollins


From: Dmitry Kurochkin <dmitry.kurochkin@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@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


Thread: