X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=emacs%2Fnotmuch-draft.el;h=759e6c9e47a00d539c31219c6f3f0e007920cd20;hp=fb7f4f55ed572d5d37d4e1e17f666493f6a25422;hb=dfb1b8eb89e814f4bf6f6e62b700c72aa1b4659a;hpb=e0e8586fc72763571f9eafeb831c7bc79a15273d diff --git a/emacs/notmuch-draft.el b/emacs/notmuch-draft.el index fb7f4f55..759e6c9e 100644 --- a/emacs/notmuch-draft.el +++ b/emacs/notmuch-draft.el @@ -2,6 +2,7 @@ ;; ;; Copyright © Mark Walters ;; Copyright © David Bremner +;; Copyright © Leo Gaspard ;; ;; This file is part of Notmuch. ;; @@ -20,6 +21,7 @@ ;; ;; Authors: Mark Walters ;; David Bremner +;; Leo Gaspard ;;; Code: @@ -74,7 +76,7 @@ postponing and resuming a message." (defcustom notmuch-draft-save-plaintext 'ask "Should notmuch save/postpone in plaintext messages that seem - like they are intended to be sent encrypted +like they are intended to be sent encrypted (i.e with an mml encryption tag in it)." :type '(radio (const :tag "Never" nil) @@ -85,10 +87,10 @@ postponing and resuming a message." (defvar notmuch-draft-encryption-tag-regex "<#\\(part encrypt\\|secure.*mode=.*encrypt>\\)" - "Regular expression matching mml tags indicating encryption of part or message") + "Regular expression matching mml tags indicating encryption of part or message.") (defvar notmuch-draft-id nil - "Message-id of the most recent saved draft of this message") + "Message-id of the most recent saved draft of this message.") (make-variable-buffer-local 'notmuch-draft-id) (defun notmuch-draft--mark-deleted () @@ -150,16 +152,18 @@ Used when a new version is saved, or the message is sent." "Checks if we should save a message that should be encrypted. `notmuch-draft-save-plaintext' controls the behaviour." - (case notmuch-draft-save-plaintext - ((ask) - (unless (yes-or-no-p "(Customize `notmuch-draft-save-plaintext' to avoid this warning) + (cl-case notmuch-draft-save-plaintext + ((ask) + (unless (yes-or-no-p + "(Customize `notmuch-draft-save-plaintext' to avoid this warning) This message contains mml tags that suggest it is intended to be encrypted. Really save and index an unencrypted copy? ") - (error "Save aborted"))) - ((nil) - (error "Refusing to save draft with encryption tags (see `notmuch-draft-save-plaintext')")) - ((t) - (ignore)))) + (error "Save aborted"))) + ((nil) + (error "Refusing to save draft with encryption tags (see `%s')" + 'notmuch-draft-save-plaintext)) + ((t) + (ignore)))) (defun notmuch-draft--make-message-id () ;; message-make-message-id gives the id inside a "<" ">" pair, @@ -190,14 +194,16 @@ applied to newly inserted messages)." (message-remove-header "Message-ID") (message-add-header (concat "Message-ID: <" id ">"))) (t - (message "You have customized emacs so Message-ID is not a deletable header, so not changing it") + (message "You have customized emacs so Message-ID is not a %s" + "deletable header, so not changing it") (setq id nil))) (cond ((member 'Date message-deletable-headers) (message-remove-header "Date") (message-add-header (concat "Date: " (message-make-date)))) (t - (message "You have customized emacs so Date is not a deletable header, so not changing it"))) + (message "You have customized emacs so Date is not a deletable %s" + "header, so not changing it"))) (message-add-header "X-Notmuch-Emacs-Draft: True") (notmuch-draft-quote-some-mml) (notmuch-maildir-setup-message-for-saving) @@ -225,7 +231,7 @@ applied to newly inserted messages)." "--exclude=false" id)) (draft (equal tags (notmuch-update-tags tags notmuch-draft-tags)))) (when (or draft - (yes-or-no-p "Message does not appear to be a draft: really resume? ")) + (yes-or-no-p "Message does not appear to be a draft: edit as new? ")) (switch-to-buffer (get-buffer-create (concat "*notmuch-draft-" id "*"))) (setq buffer-read-only nil) (erase-buffer) @@ -244,6 +250,7 @@ applied to newly inserted messages)." (message-remove-header "Message-ID")) (when (member 'Date message-deletable-headers) (message-remove-header "Date")) + (unless draft (notmuch-fcc-header-setup)) ;; The X-Notmuch-Emacs-Draft header is a more reliable ;; indication of whether the message really is a draft. (setq draft (> (message-remove-header "X-Notmuch-Emacs-Draft") 0))) @@ -256,7 +263,7 @@ applied to newly inserted messages)." ;; If the resumed message was a draft then set the draft ;; message-id so that we can delete the current saved draft if the ;; message is resaved or sent. - (setq notmuch-draft-id (when draft id))))) + (setq notmuch-draft-id (and draft id))))) (add-hook 'message-send-hook 'notmuch-draft--mark-deleted)