<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/tests/test-org-agenda-config-add-files.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-24T12:21:44+00:00</updated>
<entry>
<title>fix(org): surface directory-scan failures instead of crashing or hiding them</title>
<updated>2026-05-24T12:21:44+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-24T12:21:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=12fb0108ba217f06fb9d40da8431d49540650402'/>
<id>urn:sha1:12fb0108ba217f06fb9d40da8431d49540650402</id>
<content type='text'>
The refile target scan caught permission-denied and silently dropped the directory, and would crash outright on a missing root (only permission-denied was caught, so a missing code-dir/projects-dir raised file-missing and aborted the whole build). The agenda build had the same crash: cj/add-files-to-org-agenda-files-list called directory-files on projects-dir with no existence check.

Extracted cj/--org-refile-scan-dir, which warns (display-warning) and returns nil for a missing, unreadable, or permission-denied root so the rest of the scan continues. Guarded the agenda scan the same way. Both now log a concise warning naming the skipped directory rather than failing silently or fatally.

Also fixed a latent bug surfaced here: org-refile-targets was never declared special, so under make compile cj/org-refile-in-file let-bound it lexically and the scoped targets never reached org-refile. Added (defvar org-refile-targets) so the binding stays dynamic when byte-compiled. Tests cover the helper (missing/permission-denied/normal) and the agenda missing-dir guard.
</content>
</entry>
<entry>
<title>test: add 38 tests for org-agenda-config and org-refile-config</title>
<updated>2026-02-16T03:14:18+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-02-16T03:14:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=e8aac566086562de95dae81986e15cbe9d146653'/>
<id>urn:sha1:e8aac566086562de95dae81986e15cbe9d146653</id>
<content type='text'>
- testutil-org.el: shared dynamic timestamp helpers (days-ago, days-ahead, today)
- org-agenda-config: 31 tests across 2 files (skip functions + add-files)
- org-refile-config: 7 tests for ensure-org-mode validation
- Remove prog-shell from checklist (fully covered by existing 9 tests)
</content>
</entry>
</feed>
