diff options
| author | Phillip Lord <phillip.lord@russet.org.uk> | 2019-06-17 22:56:35 +0100 |
|---|---|---|
| committer | Phillip Lord <phillip.lord@russet.org.uk> | 2019-06-17 22:56:35 +0100 |
| commit | 01842209269e290676e38b764d23b408850cb747 (patch) | |
| tree | de2a54279e0a3d1ffa7d53b7d73398499ffbe86e | |
| parent | 72c774b55dcb5408d9ebfff7905be46bbcb61372 (diff) | |
| download | org-drill-01842209269e290676e38b764d23b408850cb747.tar.gz org-drill-01842209269e290676e38b764d23b408850cb747.zip | |
Replace drill-typed-answer
| -rw-r--r-- | org-drill.el | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/org-drill.el b/org-drill.el index 611c0c9..104f92b 100644 --- a/org-drill.el +++ b/org-drill.el @@ -582,13 +582,6 @@ This variable is useful for card types that compute their answers -- for example, a card type that asks the student to translate a random number to another language. ") - -(defvar drill-typed-answer nil - "Global variable that can be bound to the last answer typed by -the user. Used by card types that ask the user to type in an -answer, rather than just pressing spacebar to reveal the -answer.") - (defvar org-drill-display-answer-hook nil) (defcustom org-drill-cloze-length-matches-hidden-text-p @@ -644,7 +637,11 @@ for review unless they were already reviewed in the recent past?" (cnt :initform 0) (exit-kind :initform nil - :documentation "Return value from typed answers which use recursive edit.")) + :documentation "Return value from typed answers which use recursive edit.") + (typed-answer + :initform nil + :documentation "The last answer typed by the user.") + ) :documentation "An org-drill session object carries data about the current state of a particular org-drill session." ) @@ -1472,9 +1469,9 @@ of QUALITY." (let ((ch nil) (input nil) (next-review-dates (org-drill-hypothetical-next-review-dates)) - (typed-answer-statement (if drill-typed-answer + (typed-answer-statement (if (oref session typed-answer) (format "Your answer: %s\n" - drill-typed-answer) + (oref session typed-answer)) "")) (key-prompt (format "(0-5, %c=help, %c=edit, %c=tags, %c=quit)" org-drill--help-key @@ -1776,9 +1773,10 @@ Consider reformulating the item to make it easier to remember.\n" (defun org-drill-response-rtn () (interactive) - (setq drill-typed-answer (buffer-string)) - (oset org-drill-current-session exit-kind t) - (org-drill-response-complete)) + (let ((session org-drill-current-session)) + (setf (oref session drill-typed-answer) (buffer-string)) + (oset session exit-kind t) + (org-drill-response-complete))) (defun org-drill-response-quit () (interactive) @@ -3943,13 +3941,13 @@ shuffling is done in place." (let ((org-drill-question-tag org-drill-leitner-tag)) (org-drill-entry-f (apply-partially #'org-drill-leitner-rebox session)))) -(defun org-drill-leitner-rebox () +(defun org-drill-leitner-rebox (session) "Returns quality rating (0-5), or nil if the user quit." (let ((ch nil) (input nil) - (typed-answer-statement (if drill-typed-answer + (typed-answer-statement (if (oref session typed-answer) (format "Your answer: %s\n" - drill-typed-answer) + (oref session typed-answer)) "")) (key-prompt (format "(0-5, %c=help, %c=edit, %c=tags, %c=quit)" org-drill--help-key |
