;;
-(defcustom notmuch-mua-send-hook '(notmuch-mua-message-send-hook)
+(defcustom notmuch-mua-send-hook nil
"Hook run before sending messages."
:type 'hook
:group 'notmuch-send
You may want to customize `message-kill-buffer-on-exit'
accordingly."
(when (< emacs-major-version 24)
- " Due to a known bug in Emacs 23, you should not set
+ " Due to a known bug in Emacs 23, you should not set
this to `new-window' if `message-kill-buffer-on-exit' is
disabled: this would result in an incorrect behavior."))
:group 'notmuch-send
This function specifies which parts of a mime message with
multiple parts get a header."
:type '(radio (const :tag "No part headers"
- notmuch-show-reply-insert-header-p-never)
+ notmuch-show-reply-insert-header-p-never)
(const :tag "All except multipart/* and hidden parts"
- notmuch-show-reply-insert-header-p-trimmed)
+ notmuch-show-reply-insert-header-p-trimmed)
(const :tag "Only for included text parts"
- notmuch-show-reply-insert-header-p-minimal)
+ notmuch-show-reply-insert-header-p-minimal)
(const :tag "Exactly as in show view"
- notmuch-show-insert-header-p)
+ notmuch-show-insert-header-p)
(function :tag "Other"))
:group 'notmuch-reply)
(defun notmuch-mua-add-more-hidden-headers ()
"Add some headers to the list that are hidden by default."
(mapc (lambda (header)
- (when (not (member header message-hidden-headers))
+ (unless (member header message-hidden-headers)
(push header message-hidden-headers)))
notmuch-mua-hidden-headers))
(narrow-to-region (point) (point-max))
(goto-char (point-max))
(if (re-search-backward message-signature-separator nil t)
- (if message-signature-insert-empty-line
- (forward-line -1))
+ (when message-signature-insert-empty-line
+ (forward-line -1))
(goto-char (point-max))))
(let ((from (plist-get original-headers :From))
(date (plist-get original-headers :Date))
(defun notmuch-mua-pop-to-buffer (name switch-function)
"Pop to buffer NAME, and warn if it already exists and is
-modified. This function is notmuch addaptation of
+modified. This function is notmuch adaptation of
`message-pop-to-buffer'."
(let ((buffer (get-buffer name)))
(if (and buffer
(interactive)
(when notmuch-mua-user-agent-function
(let ((user-agent (funcall notmuch-mua-user-agent-function)))
- (when (not (string= "" user-agent))
+ (unless (string= "" user-agent)
(push (cons 'User-Agent user-agent) other-headers))))
(unless (assq 'From other-headers)
(push (cons 'From (message-make-from
;; https://lists.gnu.org/archive/html/emacs-devel/2011-01/msg00337.html
;; We need to convert any string input, eg from rmail-start-mail.
(dolist (h other-headers other-headers)
- (if (stringp (car h)) (setcar h (intern (capitalize (car h))))))))
+ (when (stringp (car h))
+ (setcar h (intern (capitalize (car h))))))))
(args (list yank-action send-actions))
;; Cause `message-setup-1' to do things relevant for mail,
;; such as observe `message-default-mail-headers'.
(defvar notmuch-mua-sender-history nil)
-;; Workaround: Running `ido-completing-read' in emacs 23.1, 23.2 and 23.3
-;; without some explicit initialization fill freeze the operation.
-;; Hence, we advice `ido-completing-read' to ensure required initialization
-;; is done.
-(if (and (= emacs-major-version 23) (< emacs-minor-version 4))
- (defadvice ido-completing-read (before notmuch-ido-mode-init activate)
- (ido-init-completion-maps)
- (add-hook 'minibuffer-setup-hook 'ido-minibuffer-setup)
- (add-hook 'choose-completion-string-functions
- 'ido-choose-completion-string)
- (ad-disable-advice 'ido-completing-read 'before 'notmuch-ido-mode-init)
- (ad-activate 'ido-completing-read)))
-
(defun notmuch-mua-prompt-for-sender ()
"Prompt for a sender from the user's configured identities."
(if notmuch-identities
the From: address first."
(interactive "P")
(let ((other-headers
- (when (or prompt-for-sender notmuch-always-prompt-for-sender)
- (list (cons 'From (notmuch-mua-prompt-for-sender))))))
+ (and (or prompt-for-sender notmuch-always-prompt-for-sender)
+ (list (cons 'From (notmuch-mua-prompt-for-sender))))))
(notmuch-mua-mail nil nil other-headers nil (notmuch-mua-get-switch-function))))
(defun notmuch-mua-new-forward-messages (messages &optional prompt-for-sender)
If PROMPT-FOR-SENDER is non-nil, the user will be prompteed for
the From: address."
(let* ((other-headers
- (when (or prompt-for-sender notmuch-always-prompt-for-sender)
- (list (cons 'From (notmuch-mua-prompt-for-sender)))))
- forward-subject ;; Comes from the first message and is
- ;; applied later.
- forward-references ;; List of accumulated message-references of forwarded messages
- forward-queries) ;; List of corresponding message-query
+ (and (or prompt-for-sender notmuch-always-prompt-for-sender)
+ (list (cons 'From (notmuch-mua-prompt-for-sender)))))
+ ;; Comes from the first message and is applied later.
+ forward-subject
+ ;; List of accumulated message-references of forwarded messages.
+ forward-references
+ ;; List of corresponding message-query.
+ forward-queries)
;; Generate the template for the outgoing message.
(notmuch-mua-mail nil "" other-headers nil (notmuch-mua-get-switch-function))
(save-excursion
If PROMPT-FOR-SENDER is non-nil, the user will be prompted for
the From: address first. If REPLY-ALL is non-nil, the message
will be addressed to all recipients of the source message."
-;; In current emacs (24.3) select-active-regions is set to t by
-;; default. The reply insertion code sets the region to the quoted
-;; message to make it easy to delete (kill-region or C-w). These two
-;; things combine to put the quoted message in the primary selection.
-;;
-;; This is not what the user wanted and is a privacy risk (accidental
-;; pasting of the quoted message). We can avoid some of the problems
-;; by let-binding select-active-regions to nil. This fixes if the
-;; primary selection was previously in a non-emacs window but not if
-;; it was in an emacs window. To avoid the problem in the latter case
-;; we deactivate mark.
- (let ((sender
- (when prompt-for-sender
- (notmuch-mua-prompt-for-sender)))
+ ;; In current emacs (24.3) select-active-regions is set to t by
+ ;; default. The reply insertion code sets the region to the quoted
+ ;; message to make it easy to delete (kill-region or C-w). These two
+ ;; things combine to put the quoted message in the primary selection.
+ ;;
+ ;; This is not what the user wanted and is a privacy risk (accidental
+ ;; pasting of the quoted message). We can avoid some of the problems
+ ;; by let-binding select-active-regions to nil. This fixes if the
+ ;; primary selection was previously in a non-emacs window but not if
+ ;; it was in an emacs window. To avoid the problem in the latter case
+ ;; we deactivate mark.
+ (let ((sender (and prompt-for-sender
+ (notmuch-mua-prompt-for-sender)))
(select-active-regions nil))
(notmuch-mua-reply query-string sender reply-all)
(deactivate-mark)))
(interactive)
(message-kill-buffer))
-(defun notmuch-mua-message-send-hook ()
- "The default function used for `notmuch-mua-send-hook', this
-simply runs the corresponding `message-mode' hook functions."
- (run-hooks 'message-send-hook))
-
;;
(define-mail-user-agent 'notmuch-user-agent