diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-10 14:04:22 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-10 14:04:22 -0500 |
| commit | eae551736264f4c44496d010d063c446c75159d6 (patch) | |
| tree | 809bb8907b68ac102bec3d40c7c4c2d0a5567860 /modules/diff-config.el | |
| parent | ebfb6e7028c04e4a1d86b11f51a3f62a20fb0d9b (diff) | |
| download | dotemacs-eae551736264f4c44496d010d063c446c75159d6.tar.gz dotemacs-eae551736264f4c44496d010d063c446c75159d6.zip | |
refactor(system-lib): extract cj/executable-find-or-warn from mail-config
Phase 2 of utility-consolidation, first commit per the spec's recommended order. `cj/mail--executable-or-warn' was the right pattern -- check executable-find, return the path, otherwise emit a clear `display-warning' naming the feature -- but it was trapped in mail-config and only mail callers benefited. Lift it into `cj/executable-find-or-warn' in system-lib.el with one new argument: an optional GROUP symbol that flows through to `display-warning' (defaulting to `cj/system-lib') so per-feature warning filters keep working. Mail callers pass `mail-config' explicitly.
Migrate `cj/mail--mbsync-command' and `cj/mail-configure-smtpmail' to the new helper. Drop the local definition. Add `(require \='system-lib)' to mail-config.el per the spec's Phase 2 exit criterion ("consumer modules explicitly require system-lib").
Five Normal/Boundary tests cover the four return-shape cases (program found / program missing / warning content / default vs explicit group).
Other consumers (prog-*.el, dirvish-config.el, browser-config.el) still call `executable-find' directly. Migrating them is a follow-up commit, audited per call site -- the spec flags some `:if' silent checks as intentional and they should NOT switch to the warning helper.
Diffstat (limited to 'modules/diff-config.el')
0 files changed, 0 insertions, 0 deletions
