Use message-field-value instead of message-fetch-field in FCC header setup.
authorDmitry Kurochkin <dmitry.kurochkin@gmail.com>
Sat, 28 May 2011 21:51:50 +0000 (14:51 -0700)
committerCarl Worth <cworth@cworth.org>
Fri, 3 Jun 2011 19:30:55 +0000 (12:30 -0700)
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

index 3f1c124d4689d80fd8569953c3a005fd71921697..aede753702d01e8d2de62984690d676824cffce2 100644 (file)
@@ -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"