2

I have multiple files with drill items. Many of them have additional tags to further categorize the drill question.

  1. There are times where I don't want to drill all due items but just the ones that are tagged a specific word (e.g. :spanish:)
  2. Other times, I would like to get drilled in order (e.g., first drill all items that are additionally to :drill: also tagged :python:, then continue with :cpp:, etc.). I don't like mixing completely different drill items, but they are mixed in my files for different reasons.

org-drill does provide the custom variable org-drill-question-tag to change the name of the tag which org-drill looks for, but I don't want to change this variable in my .emacs file every time I use org-drill.

How can I achieve my two requirements? Are there already any kind of functions in place that I can use?

1 Answer 1

2

I haven't found any in-place function that could do any of my two requirements, but I defined a function for my first requirement. Hopefully, somebody else finds this useful (or has even a better solution):

(defun custom/org-drill-tag(tag) "Start org-drill with a user chosen question tag." (interactive "sInput the tag to drill: ") (custom-set-variables '(org-drill-question-tag tag)) (org-drill) (custom-set-variables '(org-drill-question-tag "drill")))

I haven't figured out how to achieve my second requirement though.

1
  • If you quit (org-drill) early using C-g, the final custom-set-variable is not evaluated. This leaves org-drill-question-tag in its changed state. Use (unwind-protect (org-drill) (custom-set-variables '(org-drill-question-tag "drill"))) to fix this.
    – user615536
    Commented Aug 4 at 0:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.