aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-05-15 02:32:04 -0500
committerCraig Jennings <c@cjennings.net>2026-05-15 02:32:04 -0500
commit8fa850b349fafd0e8f8f1d8b932805274fbc6900 (patch)
tree345eb61a91fc12d94ffb83a68df00a0b53ccaeba /tests
parent82655ef9d550f9388027f20ea1eb7b9adcdac56c (diff)
downloaddotemacs-8fa850b349fafd0e8f8f1d8b932805274fbc6900.tar.gz
dotemacs-8fa850b349fafd0e8f8f1d8b932805274fbc6900.zip
refactor(org-roam-config): indirect node-tags accessor for testability
`cj/org-roam-filter-by-tag' called `org-roam-node-tags' directly. That accessor is generated by `cl-defstruct' and ships with a compiler-macro that inlines the call to an `aref' against the `cl-struct-org-roam-node-tags' tag variable at byte-compile time. In tests, `cl-letf' on `(symbol-function 'org-roam-node-tags)' sets the function cell but the byte-compiled call site never consults it -- it executes the inlined `aref' instead. When org-roam isn't loaded (legitimate for a tag-filter unit test), the inlined code fails with `void-variable cl-struct-org-roam-node-tags'. Wrap the accessor in `cj/--org-roam-node-tags' that calls through `funcall' with a quoted symbol. Quoted symbols skip the compiler-macro (which only fires on direct call forms), so the funcall resolves the function cell at runtime and picks up the test's `cl-letf' stub. Production behavior is unchanged; tests no longer need org-roam loaded.
Diffstat (limited to 'tests')
0 files changed, 0 insertions, 0 deletions