aboutsummaryrefslogtreecommitdiff
path: root/tests/test-calendar-sync--format-timezone-offset.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-29 05:34:22 -0400
committerCraig Jennings <c@cjennings.net>2026-06-29 05:34:22 -0400
commitc1227a36471c2c3ab38ddfc2260923ad49240c7b (patch)
tree45d4d7920821edf406345e57bdf69527c340a34d /tests/test-calendar-sync--format-timezone-offset.el
parent54250d958f2829ff0f44a223a1481b6ec55a6d91 (diff)
downloaddotemacs-c1227a36471c2c3ab38ddfc2260923ad49240c7b.tar.gz
dotemacs-c1227a36471c2c3ab38ddfc2260923ad49240c7b.zip
refactor: split video-audio-recording.el into layered modules
Break the 1025-line video-audio-recording.el into a thin public face plus two layered libraries, moving every function verbatim so behavior and public names are unchanged: - video-audio-recording-devices.el — base layer: PulseAudio source and sink discovery, the pactl output parsers, device labeling and sort/status helpers for completing-read, and the lookup predicates. Pure string and shell-query helpers with no dependency on recording state, config, or the engine. This is the heavily-tested core. - video-audio-recording-capture.el — engine: ffmpeg/wf-recorder command construction, the recording process lifecycle (sentinel, producer-first shutdown, exit polling), the modeline indicator, dependency checks, device acquisition and validation, and the start/stop entry points. Requires the devices layer. video-audio-recording.el keeps configuration and the recording process-handle state, the device-diagnostic and device-test commands, the toggle commands, and the C-; r keymap, and requires the two layers. The engine reads and updates the config and process-handle variables, which the top module owns, through forward declarations, so no layer requires the top module back. No function call crosses from a layer up into the top module, so the split needs no forward-declared functions. Every public name is preserved, so all 323 existing video-audio-recording tests pass unchanged through the require chain. The two new modules carry the load-graph and package headers and join the header-contract allowlist. Claude-Session: https://claude.ai/code/session_014fyKMTTqLrZpL3rDF3dYc3
Diffstat (limited to 'tests/test-calendar-sync--format-timezone-offset.el')
0 files changed, 0 insertions, 0 deletions