You will be prompted to create the directory if it does not exist
yet when sending a mail."
- :require 'notmuch-fcc-initialization
- :group 'notmuch
:type '(choice
(const :tag "No FCC header" nil)
(string :tag "A single folder")
(repeat :tag "A folder based on the From header"
- (cons regexp (string :tag "Folder")))))
+ (cons regexp (string :tag "Folder"))))
+ :require 'notmuch-fcc-initialization
+ :group 'notmuch-send)
(defun notmuch-fcc-initialization ()
"If notmuch-fcc-directories is set,
;; Set up the message-fcc-handler to move mails to the maildir in Fcc
;; The parameter is set to mark messages as "seen"
(setq message-fcc-handler-function
- '(lambda (destdir)
- (notmuch-maildir-fcc-write-buffer-to-maildir destdir t)))
+ (lambda (destdir)
+ (notmuch-maildir-fcc-write-buffer-to-maildir destdir t)))
;; add a hook to actually insert the Fcc header when sending
(add-hook 'message-header-setup-hook 'notmuch-fcc-header-setup))
(let ((subdir
(cond
((or (not notmuch-fcc-dirs)
- (message-fetch-field "Fcc"))
+ (message-field-value "Fcc"))
;; Nothing set or an existing header.
nil)
notmuch-fcc-dirs)
((and (listp notmuch-fcc-dirs)
- (= 1 (length (car notmuch-fcc-dirs))))
+ (stringp (car notmuch-fcc-dirs)))
;; Old style - no longer works.
(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)
(when subdir
(message-add-header
(concat "Fcc: "
- ;; If the resulting directory is not an absolute path,
- ;; prepend the standard notmuch database path.
- (if (= (elt subdir 0) ?/)
- subdir
- (concat (notmuch-database-path) "/" subdir))))
+ (file-truename
+ ;; If the resulting directory is not an absolute path,
+ ;; prepend the standard notmuch database path.
+ (if (= (elt subdir 0) ?/)
+ subdir
+ (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"
(defun notmuch-maildir-fcc-host-fixer (hostname)
(replace-regexp-in-string "/\\|:"
- '(lambda (s)
- (cond ((string-equal s "/") "\\057")
- ((string-equal s ":") "\\072")
- (t s)))
+ (lambda (s)
+ (cond ((string-equal s "/") "\\057")
+ ((string-equal s ":") "\\072")
+ (t s)))
hostname
t
t))
(make-directory (concat path "/new/") t)
(make-directory (concat path "/tmp/") t))
((file-regular-p path)
- (error "%s is a file. Can't creat maildir." path))
+ (error "%s is a file. Can't create maildir." path))
(t
(error "I don't know how to create a maildir here"))))