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?p=notmuch;a=commitdiff_plain;h=e247ae47c10e8f584b7256eef55a5d722f45c0b3 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")