fix(kernel): Definitive quote stripping and env detection
Some checks failed
Deploy-Agent-V15-Stdin / JOB-V15-STDIN (push) Failing after 3s

This commit is contained in:
2026-04-19 16:17:44 -04:00
parent a17d4e3151
commit 7a5c4f0b18
6 changed files with 73 additions and 14 deletions

View File

@@ -179,8 +179,18 @@ A utility function that expands environment variables (like ~$HOME~ or ~$MEMEX_R
#+begin_src lisp :tangle ../src/context.lisp
(defun context-resolve-path (path-string)
"Expands all environment variables ($VAR) within a path string."
(if (and (stringp path-string) (search "$" path-string))
"Expands environment variables and strips literal quotes from a path string."
(let ((path (if (stringp path-string)
(string-trim '(#\" #\' #\Space) path-string)
path-string)))
(if (and (stringp path) (search "$" path))
(let ((result path))
(ppcre:do-register-groups (var-name) ("\\$([A-Za-z0-9_]+)" path)
(let ((var-val (uiop:getenv var-name)))
(when var-val
(setf result (ppcre:regex-replace (format nil "\\$~a" var-name) result var-val)))))
result)
path)))
(let ((result path-string))
(ppcre:do-register-groups (var-name) ("\\$([A-Za-z0-9_]+)" path-string)
(let ((var-val (uiop:getenv var-name)))