mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-24 20:08:10 +01:00
emacs: notmuch-fcc-header-setup: fix regression
With [1:16b2db09
] we lost the (undocumented) option to use no Fcc header only for From addresses matching a regexp. This brings back that feature and documents it. 1: 2021-01-1516b2db0986
emacs: various cosmetic improvements
This commit is contained in:
parent
bd5eef1c6a
commit
b03b0d4e41
1 changed files with 16 additions and 13 deletions
|
@ -41,16 +41,17 @@ Three types of values are permitted:
|
||||||
- a string: the value of `notmuch-fcc-dirs' is the Fcc header to
|
- a string: the value of `notmuch-fcc-dirs' is the Fcc header to
|
||||||
be used.
|
be used.
|
||||||
|
|
||||||
- a list: the folder is chosen based on the From address of the
|
- an alist: the folder is chosen based on the From address of
|
||||||
current message using a list of regular expressions and
|
the current message according to an alist mapping regular
|
||||||
corresponding folders:
|
expressions to folders or nil:
|
||||||
|
|
||||||
((\"Sebastian@SSpaeth.de\" . \"privat\")
|
((\"Sebastian@SSpaeth.de\" . \"privat\")
|
||||||
(\"spaetz@sspaeth.de\" . \"OUTBOX.OSS\")
|
(\"spaetz@sspaeth.de\" . \"OUTBOX.OSS\")
|
||||||
(\".*\" . \"defaultinbox\"))
|
(\".*\" . \"defaultinbox\"))
|
||||||
|
|
||||||
If none of the regular expressions match the From address, no
|
If none of the regular expressions match the From address, or
|
||||||
Fcc header will be added.
|
if the cdr of the matching entry is nil, then no Fcc header
|
||||||
|
will be added.
|
||||||
|
|
||||||
If `notmuch-maildir-use-notmuch-insert' is set (the default) then
|
If `notmuch-maildir-use-notmuch-insert' is set (the default) then
|
||||||
the header should be of the form \"folder +tag1 -tag2\" where
|
the header should be of the form \"folder +tag1 -tag2\" where
|
||||||
|
@ -74,7 +75,8 @@ directory if it does not exist yet when sending a mail."
|
||||||
(const :tag "No FCC header" nil)
|
(const :tag "No FCC header" nil)
|
||||||
(string :tag "A single folder")
|
(string :tag "A single folder")
|
||||||
(repeat :tag "A folder based on the From header"
|
(repeat :tag "A folder based on the From header"
|
||||||
(cons regexp (string :tag "Folder"))))
|
(cons regexp (choice (const :tag "No FCC header" nil)
|
||||||
|
(string :tag "Folder")))))
|
||||||
:require 'notmuch-fcc-initialization
|
:require 'notmuch-fcc-initialization
|
||||||
:group 'notmuch-send)
|
:group 'notmuch-send)
|
||||||
|
|
||||||
|
@ -105,13 +107,14 @@ Otherwise set it according to `notmuch-fcc-dirs'."
|
||||||
;; Old style - no longer works.
|
;; Old style - no longer works.
|
||||||
(error "Invalid `notmuch-fcc-dirs' setting (old style)"))
|
(error "Invalid `notmuch-fcc-dirs' setting (old style)"))
|
||||||
((listp notmuch-fcc-dirs)
|
((listp notmuch-fcc-dirs)
|
||||||
(or (seq-some (let ((from (message-field-value "From")))
|
(if-let ((match (seq-some (let ((from (message-field-value "From")))
|
||||||
(pcase-lambda (`(,regexp . ,folder))
|
(pcase-lambda (`(,regexp . ,folder))
|
||||||
(and (string-match-p regexp from)
|
(and (string-match-p regexp from)
|
||||||
folder)))
|
(cons t folder))))
|
||||||
notmuch-fcc-dirs)
|
notmuch-fcc-dirs)))
|
||||||
(progn (message "No Fcc header added.")
|
(cdr match)
|
||||||
nil)))
|
(message "No Fcc header added.")
|
||||||
|
nil))
|
||||||
(t
|
(t
|
||||||
(error "Invalid `notmuch-fcc-dirs' setting (neither string nor list)")))))
|
(error "Invalid `notmuch-fcc-dirs' setting (neither string nor list)")))))
|
||||||
(when subdir
|
(when subdir
|
||||||
|
|
Loading…
Reference in a new issue