emacs: change where notmuch-mua-mail moves point

Move point to the position that makes the most sense instead of always
moving point to the TO.  This is useful when TO/SUBJECT are passed as
argument.

Amended by db: move news item to UNRELEASED.
This commit is contained in:
Damien Cassou 2022-06-01 21:50:48 +02:00 committed by David Bremner
parent 66369ddf1c
commit 3a6b479a73
2 changed files with 20 additions and 2 deletions

9
NEWS
View file

@ -1,3 +1,12 @@
Notmuch 0.37 (UNRELEASED)
=========================
Emacs
-----
The function `notmuch-mua-mail` now moves point depending on the
provided arguments.
Notmuch 0.36 (2022-04-25) Notmuch 0.36 (2022-04-25)
========================= =========================

View file

@ -385,7 +385,13 @@ instead of `message-mode' and SWITCH-FUNCTION is mandatory."
(defun notmuch-mua-mail (&optional to subject other-headers _continue (defun notmuch-mua-mail (&optional to subject other-headers _continue
switch-function yank-action send-actions switch-function yank-action send-actions
return-action &rest ignored) return-action &rest ignored)
"Invoke the notmuch mail composition window." "Invoke the notmuch mail composition window.
The position of point when the function returns differs depending
on the values of TO and SUBJECT. If both are non-nil, point is
moved to the message's body. If SUBJECT is nil but TO isn't,
point is moved to the \"Subject:\" header. Otherwise, point is
moved to the \"To:\" header."
(interactive) (interactive)
(when notmuch-mua-user-agent-function (when notmuch-mua-user-agent-function
(let ((user-agent (funcall notmuch-mua-user-agent-function))) (let ((user-agent (funcall notmuch-mua-user-agent-function)))
@ -420,7 +426,10 @@ instead of `message-mode' and SWITCH-FUNCTION is mandatory."
(message-hide-headers) (message-hide-headers)
(set-buffer-modified-p nil) (set-buffer-modified-p nil)
(notmuch-mua-maybe-set-window-dedicated) (notmuch-mua-maybe-set-window-dedicated)
(message-goto-to)) (cond
((and to subject) (message-goto-body))
(to (message-goto-subject))
(t (message-goto-to))))
(defvar notmuch-mua-sender-history nil) (defvar notmuch-mua-sender-history nil)