]> git.eshelyaron.com Git - emacs.git/commitdiff
Restore point after sending a message
authorLars Ingebrigtsen <larsi@gnus.org>
Thu, 21 Nov 2019 13:32:56 +0000 (14:32 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Thu, 21 Nov 2019 13:32:56 +0000 (14:32 +0100)
* lisp/gnus/message.el (message-send-and-exit): Restore point
after sending (bug#38303).

lisp/gnus/message.el

index 9de35bd44c0cd510f2a11a14e60b84869bc7dff8..83ec211a7d1cda9d2daaaf0ac9c15bec76d328d1 100644 (file)
@@ -4123,6 +4123,7 @@ The usage of ARG is defined by the instance that called Message.
 It should typically alter the sending method in some way or other."
   (interactive "P")
   (let ((buf (current-buffer))
+       (position (point-marker))
        (actions message-exit-actions))
     (when (and (message-send arg)
                (buffer-live-p buf))
@@ -4130,7 +4131,13 @@ It should typically alter the sending method in some way or other."
       (if message-kill-buffer-on-exit
          (kill-buffer buf))
       (message-do-actions actions)
-      t)))
+      t)
+    ;; Restore the point in the message buffer.
+    (when (buffer-live-p buf)
+      (save-window-excursion
+       (switch-to-buffer buf)
+       (set-window-point nil position)
+       (set-marker position nil)))))
 
 (defun message-dont-send ()
   "Don't send the message you have been editing.