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

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

[nongnu] elpa/org-drill 0f0ee9f188 241/251: Allow Creating New Session i


From: ELPA Syncer
Subject: [nongnu] elpa/org-drill 0f0ee9f188 241/251: Allow Creating New Session in Cram Mode
Date: Mon, 17 Jan 2022 18:59:22 -0500 (EST)

branch: elpa/org-drill
commit 0f0ee9f1887546f06f6af1bf639ba6144d486cb4
Author: Brandon Webster <brandon.webster@socrata.com>
Commit: Brandon Webster <brandon.webster@socrata.com>

    Allow Creating New Session in Cram Mode
    
    A current session does not exist when `org-drill-cram` is called, so
    it's current behavior of toggling the `crame-mode` property doesn't
    seem to do anything. This change allows it to inform `org-drill` to
    create a new session in "cram mode."
    
    I'm not sure if this is the proper way to impliment this relative to
    the rest of the codebase, which I'm still a little unfamiliar
    with. But I thought this pr would still be useful, if only to create 
discussion.
---
 org-drill.el | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/org-drill.el b/org-drill.el
index 8ae749a7f8..d4e5dce775 100644
--- a/org-drill.el
+++ b/org-drill.el
@@ -2855,7 +2855,7 @@ STATUS is one of the following values:
     (setf (oref session warned-about-id-creation) t))
   (org-id-get-create))
 
-(defun org-drill (&optional scope drill-match resume-p)
+(defun org-drill (&optional scope drill-match resume-p cram)
   "Begin an interactive 'drill session'. The user is asked to
 review a series of topics (headers). Each topic is initially
 presented as a 'question', often with part of the topic content
@@ -2888,7 +2888,10 @@ todo query. Only items matching the query will be 
considered.
 It accepts the same values as `org-drill-match', which see.
 
 If RESUME-P is non-nil, resume a suspended drill session rather
-than starting a new one."
+than starting a new one.
+
+CRAM, if non-nil, will start a new session in cram mode. If
+resuming a suspended session, this parameter is ignored."
 
   (interactive)
   ;; Check org version. Org 7.9.3f introduced a backwards-incompatible change
@@ -2909,7 +2912,8 @@ work correctly with older versions of org mode. Your org 
mode version (%s) appea
     (cl-block org-drill
       (unless resume-p
         (org-drill-free-markers session t)
-        (setf (oref session current-item) nil
+        (setf (oref session cram-mode) cram
+              (oref session current-item) nil
               (oref session done-entries) nil
               (oref session dormant-entry-count) 0
               (oref session due-entry-count) 0
@@ -2980,8 +2984,7 @@ all drill items are considered to be due for review, 
unless they
 have been reviewed within the last `org-drill-cram-hours'
 hours."
   (interactive)
-  (setq (oref session cram-mode) t)
-  (org-drill scope drill-match))
+  (org-drill scope drill-match nil t))
 
 (defun org-drill-cram-tree ()
   "Run  an interactive drill session in 'cram mode' using subtree at point.



reply via email to

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