diff --git a/.local/share/common-lisp/source/ambrevar/shell.lisp b/.local/share/common-lisp/source/ambrevar/shell.lisp index 41f784e7..be8c071e 100644 --- a/.local/share/common-lisp/source/ambrevar/shell.lisp +++ b/.local/share/common-lisp/source/ambrevar/shell.lisp @@ -86,7 +86,7 @@ Without PREDICATES, list all files." (push process-info *process-list*) (uiop:wait-process process-info))) (setf command (if (listp command) - (mapcar #'princ-to-string command) + (mapcar #'princ-to-string (alex:flatten command)) command)) ;; TODO: Use :stream directly in launch-program and get stream from ;; process-info to avoid repeating the launch-program call. @@ -115,7 +115,8 @@ Without PREDICATES, list all files." If on interrupt process gets forked to the background, call `terminate-dangling-processes'. Output is sent to `*standard-output*'. -Arguments are automatically converted to strings with `format'." +Arguments are automatically converted to strings with `format'. +Lists are automatically flattened." (%run (cons command args) :output t)) (export-always 'run*)