chickadee » posix-utils » qs-argument

(qs-argument OBJ [LITERAL? [DELIM #\"]]) -> stringprocedure

Returns a quoted, quasiquoted, or evaluated shell argument string.

An OBJ is

'* (quote . *)
quoted * unless LITERAL?
`* (quasiquote . *)
quasiquoted * unless LITERAL?
*
evaluated

A shell quote is

quoted
' string '
quasiquoted
` ,* (unquote *) | ,@* (unquote-splicing *) | * (quote) `
evaluated
" string "

A quasiquoted OBJ is

,* (unquote *)
evaluated *
,@* (unquote-splicing *)
evaluated * #\space ...
* (quote)
quoted *