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

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

[nongnu] elpa/org-drill 9555e487d4 143/251: Fix presentation-in-buffer


From: ELPA Syncer
Subject: [nongnu] elpa/org-drill 9555e487d4 143/251: Fix presentation-in-buffer
Date: Mon, 17 Jan 2022 18:59:10 -0500 (EST)

branch: elpa/org-drill
commit 9555e487d4a952365638fc567c09439931a60bc3
Author: Phillip Lord <phillip.lord@russet.org.uk>
Commit: Phillip Lord <phillip.lord@russet.org.uk>

    Fix presentation-in-buffer
---
 org-drill.el | 34 +++++++++++++++++++---------------
 1 file changed, 19 insertions(+), 15 deletions(-)

diff --git a/org-drill.el b/org-drill.el
index d829e5766d..dea4af2a97 100644
--- a/org-drill.el
+++ b/org-drill.el
@@ -646,7 +646,10 @@ for review unless they were already reviewed in the recent 
past?"
   :documentation "An org-drill session object carries data about
   the current state of a particular org-drill session." )
 
+
+(defvar org-drill-current-session nil)
 (defvar org-drill-last-session nil)
+(defvar org-drill-presentation-exit-kind nil)
 
 (defvar org-drill-scheduling-properties
   '("LEARN_DATA" "DRILL_LAST_INTERVAL" "DRILL_REPEATS_SINCE_FAIL"
@@ -1783,29 +1786,28 @@ Consider reformulating the item to make it easier to 
remember.\n"
 
 (defun org-drill-response-rtn ()
   (interactive)
-  (message "response-rtn")
-  (setq drill-typed-answer (buffer-string)
-        exit-kind t)
+  (setq drill-typed-answer (buffer-string))
+  (setq org-drill-presentation-exit-kind t)
   (org-drill-response-complete))
 
 (defun org-drill-response-quit ()
   (interactive)
-  (setq exit-kind 'quit)
+  (setq org-drill-presentation-exit-kind 'quit)
   (org-drill-response-complete))
 
 (defun org-drill-response-edit ()
   (interactive)
-  (setq exit-kind 'edit)
+  (setq org-drill-presentation-exit-kind 'edit)
   (org-drill-response-complete))
 
 (defun org-drill-response-skip ()
   (interactive)
-  (setq exit-kind 'skip)
+  (setq org-drill-presentation-exit-kind 'skip)
   (org-drill-response-complete))
 
 (defun org-drill-response-tags ()
   (interactive)
-  (setq exit-kind 'tags)
+  (setq org-drill-presentation-exit-kind 'tags)
   (org-drill-response-complete))
 
 (defun org-drill-response-get-buffer-create ()
@@ -1849,15 +1851,17 @@ Consider reformulating the item to make it easier to 
remember.\n"
                                
#'org-drill-presentation-minibuffer-timer-function
                                item-start-time full-prompt)
           org-drill-presentation-timer-calls 0)
-    (let ((exit-kind)
-            (buf
+    (save-window-excursion
+      (let ((buf
              (org-drill-response-get-buffer-create)))
-        (save-window-excursion
-          (select-window
-           (display-buffer-below-selected buf nil))
-          (recursive-edit)
-          (org-drill-presentation-timer-cancel)
-          exit-kind))))
+        (select-window
+         (display-buffer-below-selected buf nil))
+        ;; Store the current session in a variable, so that it can
+        ;; be picked up by the when we leave the buffer
+        (setq-local org-drill-current-session session)
+        (recursive-edit)
+        (org-drill-presentation-timer-cancel)
+        org-drill-presentation-exit-kind))))
 
 (cl-defun org-drill-presentation-prompt-for-string (prompt)
   "Create a card prompt with a timer and user-specified menu.



reply via email to

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