<feed xmlns='http://www.w3.org/2005/Atom'>
<title>org-drill/tests/test-org-drill-session-keys.el, branch main</title>
<subtitle>Spaced-repetition flashcards for Org Mode
</subtitle>
<id>https://git.cjennings.net/org-drill/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/org-drill/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/org-drill/'/>
<updated>2026-05-27T06:11:35+00:00</updated>
<entry>
<title>feat: undo last rating, customizable keys, and configurable text limit</title>
<updated>2026-05-27T06:11:35+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-27T06:11:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/org-drill/commit/?id=1f362535a109939081a9a65a4601add87afc052d'/>
<id>urn:sha1:1f362535a109939081a9a65a4601add87afc052d</id>
<content type='text'>
A batch of self-contained user-facing improvements, squashed from the feat/org-drill-solo-features branch.

I added an undo for the last rating (issue #2 follow-up). The rating prompt now takes an undo key (org-drill--undo-key, default u): it restores the previous card's scheduling snapshot, drops the recorded quality, and re-queues that card, then returns to the current prompt. Each rating snapshots the scheduling properties and SCHEDULED line onto a per-session stack capped at org-drill-undo-limit (default 3). org-drill-reschedule loops on the rating read so undo doesn't rate the current card.

I made the five session-control keys (quit, edit, help, skip, tags) defcustoms so they can be rebound from customize-group (issue #35), keeping their defaults. The 0-5 rating keys stay as-is, since they're tied to the quality scale rather than being variables.

I lifted the hardcoded 100-line entry-text limit in org-drill-get-entry-text into the org-drill-entry-text-max-lines defcustom, defaulting to 100.

I also deleted a commented-out old org-entry-empty-p that the real definition had already replaced.

Existing tests stay green and each change added its own, including snapshot/restore and prompt-loop tests for undo.
</content>
</entry>
</feed>
