<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/tests/test-org-roam-config-tag-and-find.el, branch main</title>
<subtitle>My Emacs configuration
</subtitle>
<id>https://git.cjennings.net/dotemacs/atom?h=main</id>
<link rel='self' href='https://git.cjennings.net/dotemacs/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/'/>
<updated>2026-05-14T06:34:18+00:00</updated>
<entry>
<title>test(org-roam-config): cover tag predicate, find-node, finalize hook, insert-immediate</title>
<updated>2026-05-14T06:34:18+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-14T06:34:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=6fa688a65f9b185220ce3ecbefce7103b4168f7d'/>
<id>urn:sha1:6fa688a65f9b185220ce3ecbefce7103b4168f7d</id>
<content type='text'>
Sibling tests covered the slug helper, link-description, demote-subtree, format-roam-node, and the copy-todo-to-today hook. This batch covers the tag/find/insert family:

- `cj/org-roam-filter-by-tag`: returns a predicate; keeps matching nodes, rejects non-matching.
- `cj/org-roam-list-notes-by-tag`: returns file paths for matches, empty list when no matches.
- `cj/org-roam-add-node-to-agenda-files-finalize-hook`: removes itself, adds the captured buffer's file to `org-agenda-files` when not aborted, skips on abort.
- `cj/org-roam-find-node`: calls `org-roam-node-find` with a filter predicate + templates.
- `cj/org-roam-find-node-topic` / `-recipe`: delegate with the right tag + key (+ subdir).
- `cj/org-roam-node-insert-immediate`: appends `:immediate-finish t` to the first capture template before calling `org-roam-node-insert`.

Top-level `defvar`s for `org-note-abort`, `org-agenda-files`, `org-roam-capture-templates`, and `org-capture-after-finalize-hook` make the let-bindings reach the dynamic vars under lexical scope.
</content>
</entry>
</feed>
