The cmd Reference Manual

This is the cmd Reference Manual, version 0.0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Fri May 15 12:09:02 2026 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 cmd

A utility for running external programs

Author

Paul M. Rodriguez <>

License

MIT

Version

0.0.1

Dependency

cmd/cmd (system).

Source

cmd.asd.


2.2 cmd/cmd

Author

Paul M. Rodriguez <>

License

MIT

Dependencies
  • alexandria (system).
  • serapeum (system).
  • cmd/hooks (system).
  • trivia (system).
  • shlex (system).
  • trivial-garbage (system).
Source

cmd.asd.


2.3 cmd/hooks

Author

Paul M. Rodriguez <>

License

MIT

Dependencies
  • alexandria (system).
  • serapeum (system).
Source

cmd.asd.


3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 cmd/cmd.asd

Source

cmd.asd.

Parent Component

cmd (system).

ASDF Systems

3.1.2 cmd/cmd/file-type.lisp

Source

cmd.asd.

Parent Component

cmd/cmd (system).

Packages

cmd/cmd.

Public Interface
Internals

3.1.3 cmd/hooks/file-type.lisp

Source

cmd.asd.

Parent Component

cmd/hooks (system).

Packages

cmd/hooks.

Public Interface

4 Packages

Packages are listed by definition order.


4.1 cmd/hooks

Source

file-type.lisp.

Use List
  • alexandria.
  • common-lisp.
  • serapeum.
Used By List

cmd/cmd.

Public Interface

4.2 cmd/cmd

Source

file-type.lisp.

Nickname

cmd

Use List
  • alexandria.
  • cmd/hooks.
  • common-lisp.
  • serapeum.
Public Interface
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Special variables

Special Variable: *cmd-env*

Alist of extra environment variables.

Package

cmd/cmd.

Source

file-type.lisp.

Special Variable: *cmd-path*

Extra directories to check for executables.

Package

cmd/cmd.

Source

file-type.lisp.

Special Variable: *command-wrappers*

Commands that fire up other commands.
This list is used by ‘visual-command-p’ to check if the wrapped command is a visual one.
See ‘*visual-commands*’.

Package

cmd/cmd.

Source

file-type.lisp.

Special Variable: *message-hook*
Package

cmd/hooks.

Source

file-type.lisp.

Special Variable: *null-error-output*

Null device for standard error.

By binding this variable you can redirect error output that would otherwise be sent to the null device.

Note that when error output is not specifically redirected, this variable is bound to a stream that stashes stderr output for error reporting.

Package

cmd/cmd.

Source

file-type.lisp.

Special Variable: *null-output*

Null device for standard output.

By binding this variable you can redirect output that would otherwise be sent to the null device.

Package

cmd/cmd.

Source

file-type.lisp.

Special Variable: *proc-hook*
Package

cmd/hooks.

Source

file-type.lisp.

Special Variable: *shell*

The shell to use for shell commands.

Defaults to $SHELL.

Package

cmd/cmd.

Source

file-type.lisp.

Special Variable: *terminal*

The terminal is either
- a list of arguments after which the visual command is appended,
- or a function of one argument, the list of commands, returning the new list of commands.
See ‘*visual-commands*’.

Package

cmd/cmd.

Source

file-type.lisp.

Special Variable: *visual-commands*

List of commands that should be run in a ‘*terminal*’ emulator. Also see ‘*command-wrappers*’.

Package

cmd/cmd.

Source

file-type.lisp.


5.1.2 Macros

Macro: with-cmd-dir (dir &body body)

Deprecated; use ‘with-working-directory’ instead.

Package

cmd/cmd.

Source

file-type.lisp.

Macro: with-working-directory ((dir) &body body)

Run BODY with DIR as the current directory.
Calls to ‘cmd’ and its variants with the dynamic extent of the ‘with-working-directory’ form will use ‘dir’ as their working directory.

Package

cmd/cmd.

Source

file-type.lisp.


5.1.3 Compiler macros

Compiler Macro: $cmd (cmd &rest args)
Package

cmd/cmd.

Source

file-type.lisp.

Compiler Macro: cmd (cmd &rest args)
Package

cmd/cmd.

Source

file-type.lisp.

Compiler Macro: cmd! (cmd &rest args)
Package

cmd/cmd.

Source

file-type.lisp.

Compiler Macro: cmd& (cmd &rest args)
Package

cmd/cmd.

Source

file-type.lisp.

Compiler Macro: cmd? (cmd &rest args)
Package

cmd/cmd.

Source

file-type.lisp.

Compiler Macro: psub (cmd &rest args)
Package

cmd/cmd.

Source

file-type.lisp.

Compiler Macro: psub-format (control-string &rest args)
Package

cmd/cmd.

Source

file-type.lisp.


5.1.4 Ordinary functions

Function: $cmd (cmd &rest args)

Return the results of CMD as a string, stripping any trailing newlines, like $(cmd) would in a shell.

As a second value, return the error status.

By default stderr is discarded.

Package

cmd/cmd.

Source

file-type.lisp.

Function: $sh (cmd &rest kwargs &key &allow-other-keys)

Like ‘$cmd’ for a shell command.

Takes a single argument (along with keyword arguments for redirection) and passes it to a shell.

The shell defaults to the value of ‘cmd:*shell*’ (which in turn defaults to the value of SHELL in the environment).

Package

cmd/cmd.

Source

file-type.lisp.

Function: cmd (cmd &rest args)

Run a program.

CMD should be a string naming a program. This command will be run with
its current directory set to the value of the current directory in a
thread-safe manner.

The current directory is based on ‘*default-pathname-defaults*’, not on the OS-level working directory, as the OS-level directory is useless for multi-threaded programs.

A list of strings or pathnames is added to the list of arguments.

A string in ARGS is split into a list of tokens using shell-style
tokenization rules. (To protect a string with spaces, either add
quotation marks, or enclose it in a singleton list.)

A pathname in ARGS is translated to a native namestring and passed as
an argument to the command. The native namestring is not permitted to
start with a dash.

A property list is treated as a list of keyword arguments to
‘uiop:launch-program’. Certain keywords are treated as abbreviations:
e.g. ‘:>’ is an abbreviation for ‘:output’. Abbreviations can be
compound: e.g. ‘:>>’ affects both ‘:output’ and ‘:if-exists’.

By default, standard output is sent to ‘*standard-output*’, and error
output is sent to ‘*message-stream*’.

On Windows, the .exe suffix may be omitted from the name of the
executable.

Package

cmd/cmd.

Source

file-type.lisp.

Function: cmd! (cmd &rest args)

Run CMD purely for its side effects, discarding all output and returning nothing.

Package

cmd/cmd.

Source

file-type.lisp.

Function: cmd& (cmd &rest args)

Like ‘cmd’, but run asynchronously and return a handle on the process (as from ‘launch-program’).

Package

cmd/cmd.

Source

file-type.lisp.

Function: cmd? (cmd &rest args)

Run a program, returning T if it passed, nil otherwise. By default the output is discarded.

Returns the actual exit code as a second value.

Package

cmd/cmd.

Source

file-type.lisp.

Function: current-directory ()

Get the absolute current directory based on ‘*default-pathname-defaults*’.

Package

cmd/cmd.

Source

file-type.lisp.

Function: (setf current-directory) ()
Package

cmd/cmd.

Source

file-type.lisp.

Function: parse-cmd-dsl (command)

Parse COMMAND like ‘cmd’ does.
Returns two values: the fully tokenized command, and a list of redirection arguments (in the format expected by ‘uiop:launch-program’).

This can be used to write your own functions that support the ‘cmd’ DSL.

Package

cmd/cmd.

Source

file-type.lisp.

Function: psub (cmd &rest args)
Package

cmd/cmd.

Source

file-type.lisp.

Function: psub-echo (string)

Allow passing STRING to a command that expects a file. This is practically equivalent to

(psub "echo" (list string))

Except that it doesn’t actually launch an external program.

Package

cmd/cmd.

Source

file-type.lisp.

Function: psub-format (control-string &rest args)

Format ARGS using CONTROL-STRING and pass the result as a file to the enclosing command.

This is practically equivalent to

(psub "echo" (list (format nil "?" control-string args))

Except that it doesn’t actually launch an external program.

Package

cmd/cmd.

Source

file-type.lisp.

Function: sh (cmd &rest kwargs &key &allow-other-keys)

Like ‘cmd’ for a shell command.

Takes a single argument (along with keyword arguments for redirection) and passes it to a shell.

The shell defaults to the value of ‘cmd:*shell*’ (which in turn defaults to the value of SHELL in the environment).

Package

cmd/cmd.

Source

file-type.lisp.

Function: sh! (cmd &rest kwargs &key &allow-other-keys)

Like ‘cmd!’ for a shell command.

Takes a single argument (along with keyword arguments for redirection) and passes it to a shell.

The shell defaults to the value of ‘cmd:*shell*’ (which in turn defaults to the value of SHELL in the environment).

Package

cmd/cmd.

Source

file-type.lisp.

Function: sh& (cmd &rest kwargs &key &allow-other-keys)

Like ‘cmd&’ for a shell command.

Takes a single argument (along with keyword arguments for redirection) and passes it to a shell.

The shell defaults to the value of ‘cmd:*shell*’ (which in turn defaults to the value of SHELL in the environment).

Package

cmd/cmd.

Source

file-type.lisp.

Function: sh? (cmd &rest kwargs &key &allow-other-keys)

Like ‘cmd?’ for a shell command.

Takes a single argument (along with keyword arguments for redirection) and passes it to a shell.

The shell defaults to the value of ‘cmd:*shell*’ (which in turn defaults to the value of SHELL in the environment).

Package

cmd/cmd.

Source

file-type.lisp.

Function: vterm-terminal (cmd)

Run visual command CMD in Emacs’ ‘vterm’.

Package

cmd/cmd.

Source

file-type.lisp.


5.1.5 Generic functions

Generic Reader: cmd-error-stderr (condition)
Package

cmd/cmd.

Methods
Reader Method: cmd-error-stderr ((condition cmd-error))
Source

file-type.lisp.

Target Slot

stderr.


5.1.6 Standalone methods

Method: initialize-instance :after ((self cmd) &key argv kwargs)
Source

file-type.lisp.

Method: make-load-form ((self string-token) &optional env)
Source

file-type.lisp.

Method: print-object ((self cmd) stream)
Source

file-type.lisp.

Method: print-object ((object string-token) stream)
Source

file-type.lisp.


5.1.7 Conditions

Condition: cmd-error
Package

cmd/cmd.

Source

file-type.lisp.

Direct superclasses

subprocess-error.

Direct methods

cmd-error-stderr.

Direct Default Initargs
InitargValue
:stderr
Direct slots
Slot: stderr
Initargs

:stderr

Readers

cmd-error-stderr.

Writers

This slot is read-only.


5.1.8 Classes

Class: cmd

A single subcommand, with argv and kwargs ready to pass to ‘uiop:launch-program’.

Package

cmd/cmd.

Source

file-type.lisp.

Direct subclasses

psub.

Direct methods
Direct slots
Slot: argv
Readers

cmd-argv.

Writers

This slot is read-only.

Slot: kwargs
Readers

cmd-kwargs.

Writers

(setf cmd-kwargs).

Class: psub

A process substitution.

Package

cmd/cmd.

Source

file-type.lisp.

Direct superclasses
Direct methods

launch-substitution.

Class: psub-echo

A process substitution that just echoes a string.

Package

cmd/cmd.

Source

file-type.lisp.

Direct superclasses

substitution.

Direct methods
Direct Default Initargs
InitargValue
:string(error no string!)
Direct slots
Slot: string
Package

common-lisp.

Type

string

Initargs

:string

Readers

psub-echo-string.

Writers

This slot is read-only.


5.2 Internals


5.2.1 Constants

Constant: +storage-for-deflex-var-+redirection-operators++

All redirection operators that can be parsed in tokenized strings.

Package

cmd/cmd.

Source

file-type.lisp.

Constant: +storage-for-deflex-var-+subcommand-dividers++

All supported subcommand dividers (e.g. pipelines).

Package

cmd/cmd.

Source

file-type.lisp.


5.2.2 Special variables

Special Variable: *can-use-env-c*

Save whether we can use env -C.

Package

cmd/cmd.

Source

file-type.lisp.

Special Variable: *subprocs*

A table from process to subprocesses.

Package

cmd/cmd.

Source

file-type.lisp.


5.2.3 Symbol macros

Symbol Macro: +dividers+
Package

cmd/cmd.

Source

file-type.lisp.

Symbol Macro: +env+
Package

cmd/cmd.

Source

file-type.lisp.

Symbol Macro: +kill+
Package

cmd/cmd.

Source

file-type.lisp.

Symbol Macro: +ps+
Package

cmd/cmd.

Source

file-type.lisp.

Symbol Macro: +pwd+
Package

cmd/cmd.

Source

file-type.lisp.

Symbol Macro: +redirection-operators+
Package

cmd/cmd.

Source

file-type.lisp.

Symbol Macro: +sh+
Package

cmd/cmd.

Source

file-type.lisp.

Symbol Macro: +subcommand-dividers+
Package

cmd/cmd.

Source

file-type.lisp.

Symbol Macro: +tr+
Package

cmd/cmd.

Source

file-type.lisp.


5.2.4 Macros

Macro: define-cmd-variant (name sh-name lambda-list &body body)
Package

cmd/cmd.

Source

file-type.lisp.

Macro: with-stderr-caching ((&key) &body body)
Package

cmd/cmd.

Source

file-type.lisp.

Macro: with-stderr-file ((var &key) &body body)
Package

cmd/cmd.

Source

file-type.lisp.


5.2.5 Compiler macros

Compiler Macro: cmdq (cmd &rest args)
Package

cmd/cmd.

Source

file-type.lisp.


5.2.6 Ordinary functions

Function: argv+kwargs (args)

Parse ARGS and split them into an argv and keyword arguments.

Package

cmd/cmd.

Source

file-type.lisp.

Function: as-shell (fn cmd &rest kwargs &key &allow-other-keys)
Package

cmd/cmd.

Source

file-type.lisp.

Function: await (proc &key ignore-error-status tokens)

Wait for PROC to finish.

Package

cmd/cmd.

Source

file-type.lisp.

Function: call/cmd-dir (fn dir)
Package

cmd/cmd.

Source

file-type.lisp.

Function: call/stderr-file (fn)
Package

cmd/cmd.

Source

file-type.lisp.

Function: can-use-env-c? ()

Return T if we can use env -C to launch a program in the current directory, instead of using a shell.

Package

cmd/cmd.

Source

file-type.lisp.

Function: cmd-env ()
Package

cmd/cmd.

Source

file-type.lisp.

Function: cmdq (cmd &rest args)
Package

cmd/cmd.

Source

file-type.lisp.

Function: copy-string-token (string-token1 &key string)

Copy an instance of STRING-TOKEN, optionally overriding some or all of its slots.

Package

cmd/cmd.

Source

file-type.lisp.

Function: exe-string (p)
Package

cmd/cmd.

Source

file-type.lisp.

Function: expand-keyword-aliases (args)
Package

cmd/cmd.

Source

file-type.lisp.

Function: expand-redirection-abbrev (keyword)
Package

cmd/cmd.

Source

file-type.lisp.

Function: flatten-string-tokens (list)
Package

cmd/cmd.

Source

file-type.lisp.

Function: get-stderr-output-stream-string (s)

Get output from S.
Note this will only be called if an error is signaled.

Package

cmd/cmd.

Source

file-type.lisp.

Function: get-tmpfs ()

Get a suitable tmpfs.

Package

cmd/cmd.

Source

file-type.lisp.

Function: kill-process-group (process &key urgent)

Terminate PROCESS and all its descendants.
On Unix, sends a TERM signal by default, or a KILL signal if URGENT.

Package

cmd/cmd.

Source

file-type.lisp.

Function: kill-subprocs (proc &key urgent)

Kill all subprocesses of PROC.

Package

cmd/cmd.

Source

file-type.lisp.

Function: launch-cmd (cmd &rest overrides &key &allow-other-keys)

Auxiliary function for launching CMD with overrides.

Package

cmd/cmd.

Source

file-type.lisp.

Function: launch-pipeline (argv &rest args)
Package

cmd/cmd.

Source

file-type.lisp.

Function: launch-program-in-dir (dir tokens &rest args &key &allow-other-keys)
Package

cmd/cmd.

Source

file-type.lisp.

Function: launch-program-in-dir* (tokens &rest args)

Run a program (with ‘uiop:launch-program’) in the current base directory.

Package

cmd/cmd.

Source

file-type.lisp.

Function: launch-psubs (argv)

Launch any process substitutions in ARGV. Return two values: the new argv and a list of subprocesses (or other cleanup forms).

Package

cmd/cmd.

Source

file-type.lisp.

Function: make-string-token (string)
Package

cmd/cmd.

Source

file-type.lisp.

Function: maybe-visual-command (cmd)
Package

cmd/cmd.

Source

file-type.lisp.

Function: mktemp ()

Create a temporary file for use with process substition. When possible use a tmpfs.

Package

cmd/cmd.

Source

file-type.lisp.

Function: override-default-output-and-error-output (args)

Override null output with ‘*null-output*’ and null error output with ‘*null-error-output*’.

Package

cmd/cmd.

Source

file-type.lisp.

Function: parse-cmd (args)
Package

cmd/cmd.

Source

file-type.lisp.

Function: parse-cmd-args (args &key split)

Lex ARGs.
The result is a list of strings, subcommand dividers, and keyword arguments.

Package

cmd/cmd.

Source

file-type.lisp.

Function: psub-shell (cmd &rest kwargs &key &allow-other-keys)

Like ‘psub’ for a shell command.

Takes a single argument (along with keyword arguments for redirection) and passes it to a shell.

The shell defaults to the value of ‘cmd:*shell*’ (which in turn defaults to the value of SHELL in the environment).

Package

cmd/cmd.

Source

file-type.lisp.

Function: register-subproc (proc subproc)

Register SUBPROC as a subprocess of PROC and return SUBPROC.

Package

cmd/cmd.

Source

file-type.lisp.

Function: register-subprocs (proc &rest subprocs)

Register SUBPROC as a subprocess of PROC.

Package

cmd/cmd.

Source

file-type.lisp.

Function: resolve-dir (dir)

Resolve DIR into an absolute directory based on ‘*default-pathname-defaults*‘, supplemented with the OS-level working directory if that is not absolute.

Package

cmd/cmd.

Source

file-type.lisp.

Function: shell-arg ()
Package

cmd/cmd.

Source

file-type.lisp.

Function: shq (cmd &rest kwargs &key &allow-other-keys)

Like ‘cmdq’ for a shell command.

Takes a single argument (along with keyword arguments for redirection) and passes it to a shell.

The shell defaults to the value of ‘cmd:*shell*’ (which in turn defaults to the value of SHELL in the environment).

Package

cmd/cmd.

Source

file-type.lisp.

Function: simplify-cmd-args (args)

Simplify ARGS at compile time (for compiler macros).

Package

cmd/cmd.

Source

file-type.lisp.

Function: split-cmd (cmd)
Package

cmd/cmd.

Source

file-type.lisp.

Function: split-pipeline (args)

Split ARGS into two values: the last command in the pipeline, and any previous commands.

Package

cmd/cmd.

Source

file-type.lisp.

Function: stage-pipeline (cmds)

Return CMDS as a single command that can be passed to ‘launch-pipeline’.

Package

cmd/cmd.

Source

file-type.lisp.

Function: string-token (string)
Package

cmd/cmd.

Source

file-type.lisp.

Reader: string-token-string (instance)
Package

cmd/cmd.

Source

file-type.lisp.

Target Slot

string.

Function: stringify-pathname (arg)
Package

cmd/cmd.

Source

file-type.lisp.

Function: subprocs (proc)
Package

cmd/cmd.

Source

file-type.lisp.

Function: (setf subprocs) (proc)
Package

cmd/cmd.

Source

file-type.lisp.

Function: update-can-use-env-c ()
Package

cmd/cmd.

Source

file-type.lisp.

Function: validate-env-var (name)

Check that NAME is a valid (portable) name for an environment variable.

Package

cmd/cmd.

Source

file-type.lisp.

Function: visual-command-p (command)

Return true if the COMMAND list runs one of the programs in ‘*visual-commands*’. ‘*command-wrappers*’ are supported, i.e.

env FOO=BAR sudo -i powertop

works.

Package

cmd/cmd.

Source

file-type.lisp.

Function: wrap-cmd-env (cmd)
Package

cmd/cmd.

Source

file-type.lisp.

Function: wrap-with-dir (dir tokens)

Wrap TOKENS with the necessary code to run the process in DIR.

The OS-level current directory is per-process, not per thread. Using ‘chdir’ could lead to race conditions. Instead, we arrange for the new process to change its own working directory.

Package

cmd/cmd.

Source

file-type.lisp.


5.2.7 Generic functions

Generic Reader: cmd-argv (object)
Package

cmd/cmd.

Methods
Reader Method: cmd-argv ((cmd cmd))

automatically generated reader method

Source

file-type.lisp.

Target Slot

argv.

Generic Reader: cmd-kwargs (object)
Package

cmd/cmd.

Methods
Reader Method: cmd-kwargs ((cmd cmd))

automatically generated reader method

Source

file-type.lisp.

Target Slot

kwargs.

Generic Writer: (setf cmd-kwargs) (object)
Package

cmd/cmd.

Methods
Writer Method: (setf cmd-kwargs) ((cmd cmd))

automatically generated writer method

Source

file-type.lisp.

Target Slot

kwargs.

Generic Function: launch-substitution (sub)

Launch a command substitution.
Should always return two values, both lists: 1. A list of new arguments for the argv. 2. A list of cleanup forms.

Package

cmd/cmd.

Source

file-type.lisp.

Methods
Method: launch-substitution ((arg psub))
Method: launch-substitution ((sub psub-echo))
Generic Reader: psub-echo-string (object)
Package

cmd/cmd.

Methods
Reader Method: psub-echo-string ((psub-echo psub-echo))

automatically generated reader method

Source

file-type.lisp.

Target Slot

string.


5.2.8 Standalone methods

Method: %constructor= ((o1 string-token) (o2 string-token))
Package

serapeum/defining-types.

Source

file-type.lisp.

Method: constructor-values/generic ((x string-token))
Package

serapeum/defining-types.

Source

file-type.lisp.

Method: read-only-struct-slot-names append ((self string-token))
Package

serapeum/defining-types.

Source

file-type.lisp.


5.2.9 Structures

Structure: string-token
Package

cmd/cmd.

Source

file-type.lisp.

Direct superclasses

%read-only-struct.

Direct methods
Direct slots
Slot: string
Package

common-lisp.

Type

(simple-array character (*))

Initform

(alexandria:required-argument (quote string))

Readers

string-token-string.

Writers

This slot is read-only.


5.2.10 Classes

Class: substitution

A command substitution.

Package

cmd/cmd.

Source

file-type.lisp.

Direct subclasses

5.2.11 Types

Type: parseable ()
Package

cmd/cmd.

Source

file-type.lisp.

Type: redirection-operator ()
Package

cmd/cmd.

Source

file-type.lisp.

Type: subcommand-divider ()
Package

cmd/cmd.

Source

file-type.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   $   %   (  
A   C   D   E   F   G   I   K   L   M   O   P   R   S   U   V   W  
Index Entry  Section

$
$cmd: Public compiler macros
$cmd: Public ordinary functions
$sh: Public ordinary functions

%
%constructor=: Private standalone methods

(
(setf cmd-kwargs): Private generic functions
(setf cmd-kwargs): Private generic functions
(setf current-directory): Public ordinary functions
(setf subprocs): Private ordinary functions

A
argv+kwargs: Private ordinary functions
as-shell: Private ordinary functions
await: Private ordinary functions

C
call/cmd-dir: Private ordinary functions
call/stderr-file: Private ordinary functions
can-use-env-c?: Private ordinary functions
cmd: Public compiler macros
cmd: Public ordinary functions
cmd!: Public compiler macros
cmd!: Public ordinary functions
cmd&: Public compiler macros
cmd&: Public ordinary functions
cmd-argv: Private generic functions
cmd-argv: Private generic functions
cmd-env: Private ordinary functions
cmd-error-stderr: Public generic functions
cmd-error-stderr: Public generic functions
cmd-kwargs: Private generic functions
cmd-kwargs: Private generic functions
cmd?: Public compiler macros
cmd?: Public ordinary functions
cmdq: Private compiler macros
cmdq: Private ordinary functions
Compiler Macro, $cmd: Public compiler macros
Compiler Macro, cmd: Public compiler macros
Compiler Macro, cmd!: Public compiler macros
Compiler Macro, cmd&: Public compiler macros
Compiler Macro, cmd?: Public compiler macros
Compiler Macro, cmdq: Private compiler macros
Compiler Macro, psub: Public compiler macros
Compiler Macro, psub-format: Public compiler macros
constructor-values/generic: Private standalone methods
copy-string-token: Private ordinary functions
current-directory: Public ordinary functions

D
define-cmd-variant: Private macros

E
exe-string: Private ordinary functions
expand-keyword-aliases: Private ordinary functions
expand-redirection-abbrev: Private ordinary functions

F
flatten-string-tokens: Private ordinary functions
Function, $cmd: Public ordinary functions
Function, $sh: Public ordinary functions
Function, (setf current-directory): Public ordinary functions
Function, (setf subprocs): Private ordinary functions
Function, argv+kwargs: Private ordinary functions
Function, as-shell: Private ordinary functions
Function, await: Private ordinary functions
Function, call/cmd-dir: Private ordinary functions
Function, call/stderr-file: Private ordinary functions
Function, can-use-env-c?: Private ordinary functions
Function, cmd: Public ordinary functions
Function, cmd!: Public ordinary functions
Function, cmd&: Public ordinary functions
Function, cmd-env: Private ordinary functions
Function, cmd?: Public ordinary functions
Function, cmdq: Private ordinary functions
Function, copy-string-token: Private ordinary functions
Function, current-directory: Public ordinary functions
Function, exe-string: Private ordinary functions
Function, expand-keyword-aliases: Private ordinary functions
Function, expand-redirection-abbrev: Private ordinary functions
Function, flatten-string-tokens: Private ordinary functions
Function, get-stderr-output-stream-string: Private ordinary functions
Function, get-tmpfs: Private ordinary functions
Function, kill-process-group: Private ordinary functions
Function, kill-subprocs: Private ordinary functions
Function, launch-cmd: Private ordinary functions
Function, launch-pipeline: Private ordinary functions
Function, launch-program-in-dir: Private ordinary functions
Function, launch-program-in-dir*: Private ordinary functions
Function, launch-psubs: Private ordinary functions
Function, make-string-token: Private ordinary functions
Function, maybe-visual-command: Private ordinary functions
Function, mktemp: Private ordinary functions
Function, override-default-output-and-error-output: Private ordinary functions
Function, parse-cmd: Private ordinary functions
Function, parse-cmd-args: Private ordinary functions
Function, parse-cmd-dsl: Public ordinary functions
Function, psub: Public ordinary functions
Function, psub-echo: Public ordinary functions
Function, psub-format: Public ordinary functions
Function, psub-shell: Private ordinary functions
Function, register-subproc: Private ordinary functions
Function, register-subprocs: Private ordinary functions
Function, resolve-dir: Private ordinary functions
Function, sh: Public ordinary functions
Function, sh!: Public ordinary functions
Function, sh&: Public ordinary functions
Function, sh?: Public ordinary functions
Function, shell-arg: Private ordinary functions
Function, shq: Private ordinary functions
Function, simplify-cmd-args: Private ordinary functions
Function, split-cmd: Private ordinary functions
Function, split-pipeline: Private ordinary functions
Function, stage-pipeline: Private ordinary functions
Function, string-token: Private ordinary functions
Function, string-token-string: Private ordinary functions
Function, stringify-pathname: Private ordinary functions
Function, subprocs: Private ordinary functions
Function, update-can-use-env-c: Private ordinary functions
Function, validate-env-var: Private ordinary functions
Function, visual-command-p: Private ordinary functions
Function, vterm-terminal: Public ordinary functions
Function, wrap-cmd-env: Private ordinary functions
Function, wrap-with-dir: Private ordinary functions

G
Generic Function, (setf cmd-kwargs): Private generic functions
Generic Function, cmd-argv: Private generic functions
Generic Function, cmd-error-stderr: Public generic functions
Generic Function, cmd-kwargs: Private generic functions
Generic Function, launch-substitution: Private generic functions
Generic Function, psub-echo-string: Private generic functions
get-stderr-output-stream-string: Private ordinary functions
get-tmpfs: Private ordinary functions

I
initialize-instance: Public standalone methods

K
kill-process-group: Private ordinary functions
kill-subprocs: Private ordinary functions

L
launch-cmd: Private ordinary functions
launch-pipeline: Private ordinary functions
launch-program-in-dir: Private ordinary functions
launch-program-in-dir*: Private ordinary functions
launch-psubs: Private ordinary functions
launch-substitution: Private generic functions
launch-substitution: Private generic functions
launch-substitution: Private generic functions

M
Macro, define-cmd-variant: Private macros
Macro, with-cmd-dir: Public macros
Macro, with-stderr-caching: Private macros
Macro, with-stderr-file: Private macros
Macro, with-working-directory: Public macros
make-load-form: Public standalone methods
make-string-token: Private ordinary functions
maybe-visual-command: Private ordinary functions
Method, %constructor=: Private standalone methods
Method, (setf cmd-kwargs): Private generic functions
Method, cmd-argv: Private generic functions
Method, cmd-error-stderr: Public generic functions
Method, cmd-kwargs: Private generic functions
Method, constructor-values/generic: Private standalone methods
Method, initialize-instance: Public standalone methods
Method, launch-substitution: Private generic functions
Method, launch-substitution: Private generic functions
Method, make-load-form: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, psub-echo-string: Private generic functions
Method, read-only-struct-slot-names: Private standalone methods
mktemp: Private ordinary functions

O
override-default-output-and-error-output: Private ordinary functions

P
parse-cmd: Private ordinary functions
parse-cmd-args: Private ordinary functions
parse-cmd-dsl: Public ordinary functions
print-object: Public standalone methods
print-object: Public standalone methods
psub: Public compiler macros
psub: Public ordinary functions
psub-echo: Public ordinary functions
psub-echo-string: Private generic functions
psub-echo-string: Private generic functions
psub-format: Public compiler macros
psub-format: Public ordinary functions
psub-shell: Private ordinary functions

R
read-only-struct-slot-names: Private standalone methods
register-subproc: Private ordinary functions
register-subprocs: Private ordinary functions
resolve-dir: Private ordinary functions

S
sh: Public ordinary functions
sh!: Public ordinary functions
sh&: Public ordinary functions
sh?: Public ordinary functions
shell-arg: Private ordinary functions
shq: Private ordinary functions
simplify-cmd-args: Private ordinary functions
split-cmd: Private ordinary functions
split-pipeline: Private ordinary functions
stage-pipeline: Private ordinary functions
string-token: Private ordinary functions
string-token-string: Private ordinary functions
stringify-pathname: Private ordinary functions
subprocs: Private ordinary functions

U
update-can-use-env-c: Private ordinary functions

V
validate-env-var: Private ordinary functions
visual-command-p: Private ordinary functions
vterm-terminal: Public ordinary functions

W
with-cmd-dir: Public macros
with-stderr-caching: Private macros
with-stderr-file: Private macros
with-working-directory: Public macros
wrap-cmd-env: Private ordinary functions
wrap-with-dir: Private ordinary functions


A.3 Variables

Jump to:   *   +  
A   C   K   S  
Index Entry  Section

*
*can-use-env-c*: Private special variables
*cmd-env*: Public special variables
*cmd-path*: Public special variables
*command-wrappers*: Public special variables
*message-hook*: Public special variables
*null-error-output*: Public special variables
*null-output*: Public special variables
*proc-hook*: Public special variables
*shell*: Public special variables
*subprocs*: Private special variables
*terminal*: Public special variables
*visual-commands*: Public special variables

+
+dividers+: Private symbol macros
+env+: Private symbol macros
+kill+: Private symbol macros
+ps+: Private symbol macros
+pwd+: Private symbol macros
+redirection-operators+: Private symbol macros
+sh+: Private symbol macros
+storage-for-deflex-var-+redirection-operators++: Private constants
+storage-for-deflex-var-+subcommand-dividers++: Private constants
+subcommand-dividers+: Private symbol macros
+tr+: Private symbol macros

A
argv: Public classes

C
Constant, +storage-for-deflex-var-+redirection-operators++: Private constants
Constant, +storage-for-deflex-var-+subcommand-dividers++: Private constants

K
kwargs: Public classes

S
Slot, argv: Public classes
Slot, kwargs: Public classes
Slot, stderr: Public conditions
Slot, string: Public classes
Slot, string: Private structures
Special Variable, *can-use-env-c*: Private special variables
Special Variable, *cmd-env*: Public special variables
Special Variable, *cmd-path*: Public special variables
Special Variable, *command-wrappers*: Public special variables
Special Variable, *message-hook*: Public special variables
Special Variable, *null-error-output*: Public special variables
Special Variable, *null-output*: Public special variables
Special Variable, *proc-hook*: Public special variables
Special Variable, *shell*: Public special variables
Special Variable, *subprocs*: Private special variables
Special Variable, *terminal*: Public special variables
Special Variable, *visual-commands*: Public special variables
stderr: Public conditions
string: Public classes
string: Private structures
Symbol Macro, +dividers+: Private symbol macros
Symbol Macro, +env+: Private symbol macros
Symbol Macro, +kill+: Private symbol macros
Symbol Macro, +ps+: Private symbol macros
Symbol Macro, +pwd+: Private symbol macros
Symbol Macro, +redirection-operators+: Private symbol macros
Symbol Macro, +sh+: Private symbol macros
Symbol Macro, +subcommand-dividers+: Private symbol macros
Symbol Macro, +tr+: Private symbol macros