X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;f=emacs%2Fnotmuch-mua.el;h=00cd9808c1141f8e6ae470eaa63f2482652bfa5d;hb=a760e4ab47e152a9d3b4fa9b733f82723ebaaefe;hp=f6006ee04c4220b422ba10a1333c6bc8d5a331c9;hpb=e1fba87327d29c16fd3d4607096022e5ef0718d0;p=notmuch diff --git a/emacs/notmuch-mua.el b/emacs/notmuch-mua.el index f6006ee0..00cd9808 100644 --- a/emacs/notmuch-mua.el +++ b/emacs/notmuch-mua.el @@ -313,8 +313,9 @@ the From: header is already filled in by notmuch." (ido-completing-read "Send mail From: " notmuch-identities nil nil nil 'notmuch-mua-sender-history (car notmuch-identities))))) +(put 'notmuch-mua-new-mail 'notmuch-prefix-doc "... and prompt for sender") (defun notmuch-mua-new-mail (&optional prompt-for-sender) - "Invoke the notmuch mail composition window. + "Compose new mail. If PROMPT-FOR-SENDER is non-nil, the user will be prompted for the From: address first." @@ -345,10 +346,25 @@ the From: address first." 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)))) - (notmuch-mua-reply query-string sender reply-all))) + (notmuch-mua-prompt-for-sender))) + (select-active-regions nil)) + (notmuch-mua-reply query-string sender reply-all) + (deactivate-mark))) (defun notmuch-mua-send-and-exit (&optional arg) (interactive "P")