diff options
| author | Craig Jennings <c@cjennings.net> | 2026-05-10 14:34:52 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2026-05-10 14:34:52 -0500 |
| commit | c44a52a7905b605a6537e3ff9bb4fe3afede0485 (patch) | |
| tree | 07315442c51d38f1a601a28bec2ea5817bdb9509 /modules/custom-misc.el | |
| parent | aa72245a2a1715ef4fb8b1c3019826540320be80 (diff) | |
| download | dotemacs-c44a52a7905b605a6537e3ff9bb4fe3afede0485.tar.gz dotemacs-c44a52a7905b605a6537e3ff9bb4fe3afede0485.zip | |
refactor(cj-org-text): extract Org-safe text sanitizers from calendar-sync
Phase 3 of utility-consolidation. Three sanitizers moved from calendar-sync.el into a new cj-org-text.el module so other consumers (web-clipper, AI conversation, mail-to-org capture) can compose Org content from external text without depending on calendar:
- `calendar-sync--sanitize-org-body' -> `cj/org-sanitize-body-text'
- `calendar-sync--sanitize-org-property-value' -> `cj/org-sanitize-property-value'
- `calendar-sync--sanitize-org-heading' -> `cj/org-sanitize-heading'
The helpers stay pure (string in, string out, nil-safe) and have no Org-mode dependency, so they work in batch and in tests without loading Org.
Migrate calendar-sync.el to use the new public names: drop the three local defuns, add `(require \='cj-org-text)', update the six call sites in `calendar-sync--make-event-entry'.
Move the existing 17-test file to `tests/test-cj-org-text-sanitize.el', rename test names to match the new helpers, add 1 nil-input test for `cj/org-sanitize-heading' that wasn't in the original file. Total: 18 Normal/Boundary tests across the three helpers.
Diffstat (limited to 'modules/custom-misc.el')
0 files changed, 0 insertions, 0 deletions
