emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/gnorb a165584 041/449: Handle return from mail sending


From: Stefan Monnier
Subject: [elpa] externals/gnorb a165584 041/449: Handle return from mail sending better
Date: Fri, 27 Nov 2020 23:15:04 -0500 (EST)

branch: externals/gnorb
commit a165584271b5313497d8e23fdf4af799bea5f106
Author: Eric Abrahamsen <eric@ericabrahamsen.net>
Commit: Eric Abrahamsen <eric@ericabrahamsen.net>

    Handle return from mail sending better
    
    gnorb-org.el: gnorb-org-restore-after-send
    
    Needed better checks regarding where we were coming from originally.
---
 lisp/gnorb-org.el | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/lisp/gnorb-org.el b/lisp/gnorb-org.el
index 9971121..fc673e9 100644
--- a/lisp/gnorb-org.el
+++ b/lisp/gnorb-org.el
@@ -58,9 +58,24 @@ point."
     (gnus-summary-exit nil t))
   (when (window-configuration-p gnorb-org-window-conf)
     (set-window-configuration gnorb-org-window-conf))
-  (let ((todo (org-entry-get (point) "TODO")))
-    (when (member todo gnorb-org-mail-todos)
-     (call-interactively 'org-agenda-todo))))
+  (cond ((eq major-mode 'org-agenda-mode)
+        (if (null gnorb-org-mail-todos)
+            (call-interactively 'org-agenda-todo)
+          (let* ((marker (or (org-get-at-bol 'org-marker)
+                             (org-agenda-error)))
+                 (buffer (marker-buffer marker)))
+            (when (save-excursion
+                    (with-current-buffer buffer
+                      (goto-char (marker-position marker))
+                      (member (org-entry-get (point) "TODO")
+                              gnorb-org-mail-todos)))
+              (call-interactively 'org-agenda-todo)))))
+       ((eq major-mode 'org-mode)
+        (when (or (null gnorb-org-mail-todos)
+                  (member (org-entry-get (point) "TODO")
+                          gnorb-org-mail-todos))
+          (call-interactively 'org-todo)))
+       (t nil)))
 
 (defun gnorb-org-extract-mail-stuff ()
   (let (message mails)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]