| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
Second step of #147. get-item-data now returns an org-drill-card-state and store-item-data takes one, so the six recall fields move as named slots instead of a positional list. The three call sites (smart-reschedule, hypothetical-next-review-date, copy-scheduling-to-marker) read scheduler inputs through accessors and build a struct for the store, which removes the hand re-ordering between the get-shape and the store-shape.
Behavior is unchanged. The legacy LEARN_DATA read path and the virgin-item sentinel are preserved field-for-field, and store takes just the struct because its last-interval slot already holds the interval to persist. The schedulers still take positional args; they adopt the struct in the following commits.
I updated the round-trip, integration, and setup-helper tests to build and read the struct via a small list-view helper, so the existing expected-value assertions stay readable.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
| |
I extended three existing test files with cases that hit branches the
suite was missing: `org-drill--show-end-message' with a live-marker
end-pos (jumps to the marker), `org-drill--restore-display' for the
variable-pitch-on / variable-pitch-off / text-scale paths, and
`org-drill-pop-next-pending-entry' for the young-mature and overdue
branches in the queue priority cond.
Coverage moved from 87.0% to 87.8%.
|
|
|
12 ERT tests covering:
- org-drill-pop-next-pending-entry: empty session → nil, failed
prioritized over new/old, again-entries fallback, max-item limit
gates primary queues but again-entries bypasses
- org-drill-card-tag-caller: dispatches per-tag hook fn from alist,
unknown tag is silent no-op (falls through to ignore)
- org-drill-id-get-create-with-warning: creates ID and flips
warned-about-id-creation flag, doesn't re-warn (uses tempfile-
backed buffer because org-id-get requires file-visiting)
- org-drill-add-cloze-fontification: sets buffer-local cloze-regexp
and cloze-keywords from current delimiters
- org-drill-strip-all-data: yes-or-no-p gate (no-confirm = no-op,
confirm = wipes scheduling props)
|