<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dotemacs/tests/test-system-lib-shell-quote-argument-readable.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-10T19:13:56+00:00</updated>
<entry>
<title>refactor(system-lib): extract cj/shell-quote-argument-readable from dev-fkeys</title>
<updated>2026-05-10T19:13:56+00:00</updated>
<author>
<name>Craig Jennings</name>
<email>c@cjennings.net</email>
</author>
<published>2026-05-10T19:13:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cjennings.net/dotemacs/commit/?id=f1e8f0898244bd2d834baf7541d10e5eff351d34'/>
<id>urn:sha1:f1e8f0898244bd2d834baf7541d10e5eff351d34</id>
<content type='text'>
Phase 2.2 of utility-consolidation. The "quote only when shell-unsafe characters appear, otherwise leave the argument readable" pattern was trapped in dev-fkeys as `cj/--f6-shell-quote-argument' alongside its `cj/--f6-shell-safe-argument-regexp' constant. Lift both into system-lib.el under their generic names; the F6 branding hid that the same shape is useful for any generated compile/test command where the surrounding line ends up in a *compilation* buffer the user reads.

Six Normal/Boundary tests cover safe inputs that pass through unchanged (alphanumeric paths, test regexes, `FLAG=value', `host:port'), unsafe inputs that get quoted (spaces, `$', `;', `&amp;', backticks, `*'), and the empty-string boundary.

Migrate dev-fkeys's five callers to the new name and add `(require \='system-lib)' per the Phase 2 exit criterion.
</content>
</entry>
</feed>
