mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-25 19:04:53 +01:00
emacs: add prompt to create maildir for fcc if it does not exist.
If the user specifies a maildir that does not exist, prompt the user to see whether a maildir should be created. This will fail, with the relevant explanation, if the location is not writable, or if a file already exists in that location. If the location is a dir, but not a maildir, this will add /tmp/cur/new to it.
This commit is contained in:
parent
9b85872ed4
commit
07c8eb1db6
1 changed files with 22 additions and 4 deletions
|
@ -72,10 +72,16 @@
|
|||
(if (eq subdir nil) (setq subdir (car (car notmuch-fcc-dirs))))
|
||||
(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")))))))
|
||||
|
||||
(let ((fcc-header (message-fetch-field "fcc")))
|
||||
(unless (notmuch-maildir-fcc-dir-is-maildir-p fcc-header)
|
||||
(cond ((not (file-writable-p fcc-header))
|
||||
(error (format "%s is not a maildir, but you don't have permission to create one." fcc-header)))
|
||||
((y-or-n-p (format "%s is not a maildir. Create it? "
|
||||
fcc-header))
|
||||
(notmuch-maildir-fcc-create-maildir fcc-header))
|
||||
(t
|
||||
(error "Not sending message."))))))))
|
||||
|
||||
(defun notmuch-maildir-fcc-host-fixer (hostname)
|
||||
(replace-regexp-in-string "/\\|:"
|
||||
'(lambda (s)
|
||||
|
@ -104,6 +110,18 @@
|
|||
(file-exists-p (concat dir "/new/"))
|
||||
(file-exists-p (concat dir "/tmp/"))))
|
||||
|
||||
(defun notmuch-maildir-fcc-create-maildir (path)
|
||||
(cond ((or (not (file-exists-p path)) (file-directory-p path))
|
||||
(make-directory (concat path "/cur/") 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))
|
||||
(t
|
||||
(error "I don't know how to create a maildir here"))))
|
||||
|
||||
|
||||
|
||||
(defun notmuch-maildir-fcc-save-buffer-to-tmp (destdir)
|
||||
"Returns the msg id of the message written to the temp directory
|
||||
if successful, nil if not."
|
||||
|
|
Loading…
Reference in a new issue