| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
Cask's upstream has slowed. Eask is the actively maintained successor.
Eask's `package-file` directive doesn't auto-install the deps from the .el header's Package-Requires, so the Eask file mirrors emacs/seq/org/persist explicitly. `eask install-deps` also doesn't pull transitive deps, so dash, m-buffer, and shut-up needed their own `depends-on` lines for undercover and elisp-lint to activate.
The Makefile swaps are mechanical: $(CASK) → $(EASK), `cask install` → `eask install-deps --dev`, `cask build` → `eask compile`.
The URL in org-drill.el's header pointed at the abandoned upstream's GitLab issues page. Eask cross-validates that against website-url, so I updated it to the GitHub mirror — where users file issues now.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
org-drill calls org-fold-show-entry and org-fold-show-subtree from
seven sites without fboundp guards. Both functions arrived in Org
9.6. But the package declared org 9.3 (Package-Requires) /
org 9.2 (Cask), so users on older Org would silently void-function
at runtime instead of getting a clear install-time mismatch error.
Bumped both declarations to org 9.6. Wrapping each of the seven
call sites with fboundp would be the alternative, but Org 9.6 was
released October 2022 — three-and-a-half years ago — and we already
have a follow-up TODO to drop the legacy time-to-inactive fallback
that this version bump unblocks.
Two tests verify the declared dep and that the org-fold APIs are
actually bound on the running Org version.
|
| |
|
|
|
|
|
|
|
|
| |
I want a stronger maintainer-discipline baseline as I take over more of this project, so I added four targets that are common in Emacs-Lisp packages.
`make lint` runs `checkdoc`, `package-lint`, and `elisp-lint` over `org-drill.el`. It's informational for now and doesn't fail on findings, because the existing source has known docstring and style debt to clear. I'll re-tighten to a hard gate after the docstring pass is done. `make compile` byte-compiles the source with `byte-compile-error-on-warn nil`, matching the existing `build` target's leniency. `make validate-parens` is a fast structural check that surfaces the line of the offending paren without needing a full byte-compile pass.
I also added a `:slow` tag filter to the default ERT runners. `test-unit`, `test-integration`, `test-file`, and `coverage` now run with `'(not (tag :slow))`. Tests tagged `:slow` get skipped on the fast feedback path. `test-name` is left alone, since a pattern argument means the user wants those tests run whether or not they're tagged slow.
Cask gets `package-lint` and `elisp-lint` as development deps. `.gitignore` gets `*-autoloads.el` so the Cask build artifact stays out.
|
| |
|
|
|
|
|
|
|
|
| |
I want to track test coverage as I work through the upstream issue backlog, so I added an undercover-based flow that mirrors how `make test-unit` already runs each file in its own Cask Emacs process.
The Makefile gets `make coverage` and `make coverage-clean`. A new helper at `tests/run-coverage-file.el` instruments `org-drill.el` before the source is loaded. Undercover merges per-file results into a single simplecov JSON at `.coverage/simplecov.json`. I added `undercover` as a Cask development dep and `.coverage/` to `.gitignore` so the report stays local.
I also renamed `make install` to `make setup`. The old name read like "deploy the package onto my system," but the target only installs Cask deps into the local `.cask/` directory. `setup` is closer to what it actually does, and all the internal `: install` prerequisites move with it.
Baseline at this commit is 10.8% (208/1928 lines on org-drill.el).
|
| |
|
|
| |
The persist package moved to the nongnu ELPA archive years ago. The existing gnu/melpa/org sources couldn't resolve it, so cask install failed and make test-unit was unrunnable. Unblocks the test suite.
|
| | |
|
| | |
|
| | |
|
|
|
- Update headers to standard
- Add Makefile, Cask and docker scripts
- Add test directory
- .gitignore
|