diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-27 21:09:29 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-27 21:09:29 -0500 |
| commit | 88e248bcc4db4d47850a8eca914ffd4c6eb0249c (patch) | |
| tree | 32fd120882ad79ea800dffd0647706128164ed2e /tests/test-org-drill-default-algorithm.el | |
| parent | 39d01b75ac679410821ce5e16c09ec6b7799f791 (diff) | |
| download | org-drill-88e248bcc4db4d47850a8eca914ffd4c6eb0249c.tar.gz org-drill-88e248bcc4db4d47850a8eca914ffd4c6eb0249c.zip | |
feat: add org-drill-on-timeout-action to drop unfinished cards at the time limit
Implements upstream #56. When org-drill-maximum-duration is reached, the session used to keep presenting the in-progress card and the again-queue until they drained, so the only way out was to finish them or interrupt. I added the defcustom org-drill-on-timeout-action with a discard-current value that ends the session as soon as the limit is hit, leaving the dropped cards untouched: they keep their existing scheduling and turn up again next session. The default, finish-current, preserves the old behavior.
The gate lives in org-drill-entries-pending-p, the single predicate the drill loop checks between cards. Under discard-current past the limit, the in-progress and again items stop counting as pending, so the loop ends instead of draining them.
Diffstat (limited to 'tests/test-org-drill-default-algorithm.el')
0 files changed, 0 insertions, 0 deletions
