diff options
| author | Brandon Webster <brandon.webster@socrata.com> | 2020-04-05 10:35:38 -0700 |
|---|---|---|
| committer | Brandon Webster <brandon.webster@socrata.com> | 2020-04-05 10:35:38 -0700 |
| commit | 91b9e5fd17fbb756621be9e83977a48dfc69123c (patch) | |
| tree | 867b671ae375cff897e07c53f5e9476c249967c8 | |
| parent | bb134301db6855d2433361f38f9c408984009c45 (diff) | |
| download | org-drill-91b9e5fd17fbb756621be9e83977a48dfc69123c.tar.gz org-drill-91b9e5fd17fbb756621be9e83977a48dfc69123c.zip | |
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.
| -rw-r--r-- | org-drill.el | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/org-drill.el b/org-drill.el index 8ae749a..d4e5dce 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. |
