mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-25 20:38:08 +01:00
emacs: Change FCC to be relative to notmuch mail store, not message-directory
Otherwise, FCC is too hard to use, (user must set it and also set message- directory variable to match notmuch mail datbase path). As a rule, I'd like for users of notmuch to not be required to muck around with non-notmuch mail settings in emacs. The above is only really possible now thanks to the recent addition of the "notmuch config get" command which allows emacs to query the currently configured notmuch database path. This also now allows an absolute-path FCC to be set if desired.
This commit is contained in:
parent
65f2e61f28
commit
8b6f3e3f45
2 changed files with 15 additions and 6 deletions
|
@ -68,6 +68,13 @@ the user hasn't set this variable with the old or new value."
|
||||||
(match-string 2 long-string)
|
(match-string 2 long-string)
|
||||||
"unknown")))
|
"unknown")))
|
||||||
|
|
||||||
|
(defun notmuch-database-path ()
|
||||||
|
"Return the database.path value from the notmuch configuration."
|
||||||
|
;; Trim off the trailing newline
|
||||||
|
(substring (shell-command-to-string
|
||||||
|
(concat notmuch-command " config get database.path"))
|
||||||
|
0 -1))
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
;; XXX: This should be a generic function in emacs somewhere, not
|
;; XXX: This should be a generic function in emacs somewhere, not
|
||||||
|
|
|
@ -18,6 +18,8 @@
|
||||||
|
|
||||||
(require 'message)
|
(require 'message)
|
||||||
|
|
||||||
|
(require 'notmuch-lib)
|
||||||
|
|
||||||
(defvar notmuch-maildir-fcc-count 0)
|
(defvar notmuch-maildir-fcc-count 0)
|
||||||
|
|
||||||
(defcustom notmuch-fcc-dirs nil
|
(defcustom notmuch-fcc-dirs nil
|
||||||
|
@ -43,10 +45,9 @@
|
||||||
used. The first entry is used as a default fallback when nothing
|
used. The first entry is used as a default fallback when nothing
|
||||||
else matches.
|
else matches.
|
||||||
|
|
||||||
In all cases, the complete FCC directory will be constructed by
|
In all cases, a relative FCC directory will be understood to
|
||||||
concatenating the content of the variable 'message-directory'
|
specify a directory within the notmuch mail store, (as set by
|
||||||
('~/Mail/' by default and customizable via M-x
|
the database.path option in the notmuch configuration file).
|
||||||
customize-variable<RET>message-directory<RET>) and this value.
|
|
||||||
|
|
||||||
You will be prompted to create the directory if it does not exist yet when
|
You will be prompted to create the directory if it does not exist yet when
|
||||||
sending a mail.
|
sending a mail.
|
||||||
|
@ -90,8 +91,9 @@
|
||||||
;; if there is no fcc header yet, add ours
|
;; if there is no fcc header yet, add ours
|
||||||
(unless (message-fetch-field "fcc")
|
(unless (message-fetch-field "fcc")
|
||||||
(message-add-header (concat "Fcc: "
|
(message-add-header (concat "Fcc: "
|
||||||
(file-name-as-directory message-directory)
|
(if (= (elt subdir 0) ?/)
|
||||||
subdir)))
|
subdir
|
||||||
|
(concat (notmuch-database-path) "/" subdir)))))
|
||||||
|
|
||||||
;; finally test if fcc points to a valid maildir
|
;; finally test if fcc points to a valid maildir
|
||||||
(let ((fcc-header (message-fetch-field "fcc")))
|
(let ((fcc-header (message-fetch-field "fcc")))
|
||||||
|
|
Loading…
Reference in a new issue