<feed xmlns='http://www.w3.org/2005/Atom'>
<title>org-drill/tests/test-org-drill-small-branch-coverage.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-28T02:40:43+00:00</updated>
<entry>
<title>refactor: take card-state in org-drill-determine-next-interval-sm5</title>
<updated>2026-05-28T02:40:43+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-28T02:40:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/org-drill/commit/?id=a2a7471f88a8c0f5c710d5ffb90511fc54b432d7'/>
<id>urn:sha1:a2a7471f88a8c0f5c710d5ffb90511fc54b432d7</id>
<content type='text'>
Stage 4 of #147. sm5 now takes (state quality of-matrix &amp;optional delta-days) instead of nine positional args, binding the recall fields from the struct at the top so the algorithm body is unchanged. Both call-site branches pass the state they already hold, dropping the per-branch accessor unpacking.

The testutil adapter test-scheduler--call-sm5 keeps the sm5 test calls a one-symbol rename per site. I also kept the return as the existing list, matching the stage-3 refinement: the goal is reducing the input signature, and changing the return shape would force the shared return-extractors and every return-read to change for no real gain.

Also folds in two stage-3 follow-ons I missed when sm2 landed: a direct sm5 call in tests/test-org-drill-small-branch-coverage.el now uses the new struct API inline, and five direct sm2 calls in the simple-workflow integration test now go through the testutil adapter (the integration file picks up the testutil-scheduler require). Caught by running make test-integration this stage, which I should have run on the sm2 stage.
</content>
</entry>
<entry>
<title>fix: scope cloze fontification to drill buffers via org-drill-mode</title>
<updated>2026-05-26T23:09:28+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-26T22:10:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/org-drill/commit/?id=5c8d908a943470e3e4738c090cf8eaa1deee5a1f'/>
<id>urn:sha1:5c8d908a943470e3e4738c090cf8eaa1deee5a1f</id>
<content type='text'>
org-drill-add-cloze-fontification ran on org-font-lock-set-keywords-hook, which fires in every org buffer, and pushed the cloze rule into org's global org-font-lock-extra-keywords. The cloze regexp is built from the [ and ] delimiters, so an org priority cookie like [#A] matched the cloze pattern and got fontified as a cloze in every org buffer, colliding with org's headline fontification and stripping the heading's org-level-N face.

I replaced the global install with org-drill-mode, a buffer-local minor mode that adds the cloze keywords only to its own buffer via font-lock-add-keywords. org-drill-auto-enable-mode (default on) turns the mode on from org-mode-hook in buffers that hold drill cards, so existing drill files keep their cloze highlighting while plain org buffers stay clean. Highlighting still respects org-drill-use-visible-cloze-face-p.

The cloze regexp itself is unchanged, so the single-line cloze constraint from #38 is preserved.
</content>
</entry>
<entry>
<title>test: cover org-drill-test-display dev helper</title>
<updated>2026-05-05T19:46:43+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-05T19:46:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/org-drill/commit/?id=22af1d98bcfe8dc970ee134f50d00c3ed31efe79'/>
<id>urn:sha1:22af1d98bcfe8dc970ee134f50d00c3ed31efe79</id>
<content type='text'>
I added a test for the developer helper `org-drill-test-display' that
mocks `org-drill-entry-f' to confirm the dispatcher fires and that the
zysygy tag is toggled off again on exit.  I also added a small case
for `org-drill-test-display-rescheduler' that verifies it runs
`org-drill-display-answer-hook' and waits on read-key-sequence.

Coverage moved from 92.7% to 93.2%.
</content>
</entry>
<entry>
<title>test: cover org-drill-add-cloze-fontification flag branch</title>
<updated>2026-05-05T19:43:20+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-05T19:43:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/org-drill/commit/?id=ff15b65e990fa40508666b00aa77ed9e5b73a881'/>
<id>urn:sha1:ff15b65e990fa40508666b00aa77ed9e5b73a881</id>
<content type='text'>
I added a couple of cases for `org-drill-add-cloze-fontification':
when `org-drill-use-visible-cloze-face-p' is t, a fontification spec
gets pushed onto `org-font-lock-extra-keywords'; with the flag nil,
the list is left alone.

Coverage moved from 92.1% to 92.3%.
</content>
</entry>
<entry>
<title>test: cover SM5 random-noise, --read-key-sequence input-method dance, goto-heading error</title>
<updated>2026-05-05T19:38:10+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-05T19:38:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/org-drill/commit/?id=b6dff95157772e97610fc79aa7166ad1be3abf67'/>
<id>urn:sha1:b6dff95157772e97610fc79aa7166ad1be3abf67</id>
<content type='text'>
I added small-branch tests for the SM5 dispersal-factor multiplier
when `org-drill-add-random-noise-to-intervals-p' is t,
`org-drill--read-key-sequence' deactivating/reactivating an active
input method (and skipping the dance when none is active), and the
error branch in `org-drill-goto-drill-entry-heading' when no parent
heading carries the drill tag.

Coverage moved from 92.1% to 92.1%.
</content>
</entry>
</feed>
