]> git.notmuchmail.org Git - notmuch/commitdiff
emacs: More DWIM when editing messages
authorDavid Edmondson <dme@dme.org>
Mon, 26 Apr 2010 14:01:25 +0000 (15:01 +0100)
committerCarl Worth <cworth@cworth.org>
Mon, 26 Apr 2010 17:24:36 +0000 (10:24 -0700)
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.

emacs/notmuch-mua.el

index bca20db95168e86396c7946e10437f4c1bd95041..c7a9aee0aa67b471e7a5c346f9bf0297652dfd51 100644 (file)
@@ -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")