emacs: fcc should fail at the right time if it doesn't point to a maildir
authorJesse Rosenthal <jrosenthal@jhu.edu>
Tue, 27 Apr 2010 00:29:27 +0000 (20:29 -0400)
committerCarl Worth <cworth@cworth.org>
Tue, 27 Apr 2010 06:06:36 +0000 (23:06 -0700)
Throw an error after the maildir is generated but before the message
is sent. This change allows the user to edit the maildir if it fails,
so that it will point to a correct place.

Note that this changes the previous behavior which always overwrote
the existing Fcc line. Now, an Fcc line is only auto-generated if
there isn't one already there.

The ideal change would be to prompt to create a maildir. This should
enable a place for doing that in a future patch.

emacs/notmuch-maildir-fcc.el

index 64f60bc62bee9a23989da3104765831c19b89068..34b19154ac94995d7ab7098251724c308e876107 100644 (file)
    (let ((subdir
           (cdr (assoc-string (message-fetch-field "from") notmuch-fcc-dirs t))))
      (if (eq subdir nil) (setq subdir (car (car notmuch-fcc-dirs))))
-     (message-remove-header "Fcc")
-     (message-add-header (concat "Fcc: " message-directory subdir)))))
+     (unless (message-fetch-field "fcc")
+       (message-add-header (concat "Fcc: " message-directory subdir)))
+     (unless (notmuch-maildir-fcc-dir-is-maildir-p 
+             (message-fetch-field "fcc"))
+       (error (format "%s is not a maildir." (message-fetch-field "fcc")))))))
 
 (defun notmuch-maildir-fcc-host-fixer (hostname)
   (replace-regexp-in-string "/\\|:"