From: David Edmondson Date: Mon, 26 Apr 2010 14:01:25 +0000 (+0100) Subject: emacs: More DWIM when editing messages X-Git-Tag: 0.3~54 X-Git-Url: https://git.notmuchmail.org/git?a=commitdiff_plain;h=e247ae47c10e8f584b7256eef55a5d722f45c0b3;p=notmuch emacs: More DWIM when editing messages For composing new messages and forwarding, leave the cursor on the 'To:' field. For replies, leave the cursor at the start of the body. In all cases, mark the buffer as not modified so that the user is not prompted if she decides to immediately kill the buffer. --- diff --git a/emacs/notmuch-mua.el b/emacs/notmuch-mua.el index bca20db9..c7a9aee0 100644 --- a/emacs/notmuch-mua.el +++ b/emacs/notmuch-mua.el @@ -98,21 +98,24 @@ list." collect header))) (message-sort-headers) (message-hide-headers) - (save-excursion - (goto-char (point-max)) - (insert body)) - (set-buffer-modified-p nil))) + (goto-char (point-max)) + (insert body)) + (set-buffer-modified-p nil) + + (message-goto-body)) (defun notmuch-mua-forward-message () (message-forward) - (save-excursion - (when notmuch-mua-user-agent-function - (let ((user-agent (funcall notmuch-mua-user-agent-function))) - (when (not (string= "" user-agent)) - (message-add-header (format "User-Agent: %s" user-agent))))) - (message-sort-headers) - (message-hide-headers)) - (set-buffer-modified-p nil)) + + (when notmuch-mua-user-agent-function + (let ((user-agent (funcall notmuch-mua-user-agent-function))) + (when (not (string= "" user-agent)) + (message-add-header (format "User-Agent: %s" user-agent))))) + (message-sort-headers) + (message-hide-headers) + (set-buffer-modified-p nil) + + (message-goto-to)) (defun notmuch-mua-mail (&optional to subject other-headers continue switch-function yank-action send-actions) @@ -126,7 +129,10 @@ list." (message-mail to subject other-headers continue switch-function yank-action send-actions) (message-sort-headers) - (message-hide-headers)) + (message-hide-headers) + (set-buffer-modified-p nil) + + (message-goto-to)) (defun notmuch-mua-send-and-exit (&optional arg) (interactive "P")