The inferior-shell Reference Manual

Table of Contents

Next: , Previous: , Up: (dir)   [Contents][Index]

The inferior-shell Reference Manual

This is the inferior-shell Reference Manual, version 2.0.4, generated automatically by Declt version 2.3 "Robert April" on Wed Mar 14 04:04:39 2018 GMT+0.


Next: , Previous: , Up: Top   [Contents][Index]

1 Introduction

INFERIOR-SHELL: spawning shell commands and pipes from Common Lisp

What is inferior-shell?

This CL library allows you to spawn local or remote processes and shell pipes. It lets me use CL in many cases where I would previously write shell scripts. The name is a pun, in that this library can both let you spawn inferior (children processes) shells, and serve itself as an inferior (not so featureful) shell. Because so many features of a shell are missing, inferior-shell only brings down the low-hanging fruits of shell scripting; yet CL is such a better programming language than the shell (or other "scripting" languages) that it is already a great pleasure to be able to write things in CL rather than in these languages. More features will come, and/or you can use other CL libraries as a complement.

Inferior-shell recognizes a small domain-specific language to describe commands or pipelines of commands, and some functions to actually run these pipelines either locally or remotely (via ssh). It will implicitly invoke ssh when asked to run a command on a remote host; for best results, be sure to have passphrase-less access to these hosts via e.g. ssh-agent.

The name inferior-shell was suggested by Michael Livshin, as inspired by the equivalent notion in GNU Emacs.

Example use of inferior-shell, from the rpm system:

(defun rpms-installed (&key (packagenames t) host)
  (run/lines
   `(pipe (rpm -qa)
          ,@(unless (eq packagenames t)
              `((egrep ("^(" ,@(loop :for (name . more) :on packagenames
                                 :collect name :when more :collect "|")
                             ")-[^-]+(-[^-]+)?$")))))
   :host host))

Limitations

By default, inferior-shell uses uiop:run-program as its universal execution backend, and has its limitations, which are as follows.

First, inferior-shell at this point only supports synchronous execution of sub-processes. For asynchronous execution, please use IOlib or executor. IOlib requires C compilation and linking, and may or may not support Windows. executor only supports select implementations. A future extension to inferior-shell may use IOlib as a backend.

Second, supported platforms at this time include: ABCL, Allegro, CLISP, ClozureCL, CMUCL, ECL, LispWorks, RMCL, SBCL, SCL, XCL. Platforms NOT (yet) supported include: CormanLisp (untested), GCL (untested), Genera (unimplemented), MKCL (untested). On supported platforms, inferior-shell works on both Unix and Windows.

Exported Functionality

The inferior-shell library creates a package INFERIOR-SHELL, that exports the following macros and functions:

The PROCESS-SPEC mini-language

This library offers a SEXP syntax to specify processes and pipelines of processes in the manner of Unix shells, including support for file descriptor redirection. Process specifications can be printed, to be executed by a local or remote shell, or directly executed by your Lisp implementation, depending on its capabilities and on the complexity of the pipeline.

SEXP mini-language

;; A process is a pipe or a command
process := pipe | or | and | progn | fork | command

;; A pipe is a list of processes, each of whose output is connected to the next one's input.
pipe := ( pipe process* )

;; OR is a list of processes which will be executed in sequence until one returns exit code 0.
or := ( or processes )

;; AND is a list of processes which will be executed in sequence until one does not return exit code 0.
and := ( and processes )

;; PROGN is a list of processes which will be executed sequentially.
progn := ( progn processes )

;; FORK is a list of processes which will be forked and executed in parallel.
fork := ( fork processes )

;; A command is a list of tokens and redirections.
;; Tokens specify the argv, redirections specify modifications of the inherited file descriptors.
command := ( [redirection|token|tokens]* )

;; A token is a string, to be used literally,
;; a keyword, to be downcased and prefixed with -- as in :foo ==> "--foo"
;; a symbol, to be downcased, or a list of tokens to be concatenated.
token := string | keyword | symbol | (token*)

;; A list starting with * is actually to be spliced in the token stream.
tokens := (\* [token|tokens]*)

;; Redirections mimic those redirections available to a shell, for instance zsh.
redirection := (
 ! fd pathname flags |   ;; open a file with given flags redirect to specified fd
 < fd? pathname | ;; open a file for input, redirect to specified fd (default: 0)
 [>|>>|<>|>!|>>!] fd? pathname | ;; open a file for (respectively) output, append, io, output clobbering, append clobbering, redirect to specified fd (default: 1)
 - fd | <& fd - | >& fd - | ;; close a fd
 <& - | >& - | ;; close fd 0, respectively fd 1.
 <& fd fd | >& fd fd | ;; redirect fds: the left one is the new number, the right one the old number.
 >& pn | >&! | ;; redirect both fd 1 and 2 to pathname (respectively, clobbering)
 >>& pn | >>&! ) ;; redirect both fd 1 and 2 to append to pathname (respectively, clobbering)

Note that these are all exported symbols from the INFERIOR-SHELL package, except that a few of them are also inherited from COMMON-LISP: < > - Therefore the other ones will only work if you either use the INFERIOR-SHELL package or use a package prefix INFERIOR-SHELL: where appropriate.

A SEXP in the minilanguage can be parsed with parse-process-spec, into an object of class process-spec. print-process-spec will print a process-spec object; in this context, a string represents itself (assuming it's already a printed process spec), and a cons is a specification in the minilanguage to be parsed with parse-process-spec first.

TO DO

Better document it.

Have a complementary inferior-shell-watcher library that uses iolib to spawn pipes locally, and watch the subprocesses as part of the iolib event loop.


Next: , Previous: , Up: Top   [Contents][Index]

2 Systems

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


Previous: , Up: Systems   [Contents][Index]

2.1 inferior-shell

Author

Francois-Rene Rideau

License

MIT

Description

spawn local or remote processes and shell pipes

Version

2.0.4

Dependencies
Source

inferior-shell.asd (file)

Components

Next: , Previous: , Up: Top   [Contents][Index]

3 Files

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


Previous: , Up: Files   [Contents][Index]

3.1 Lisp


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.1 inferior-shell.asd

Location

inferior-shell.asd

Systems

inferior-shell (system)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.2 inferior-shell/pkgdcl.lisp

Parent

inferior-shell (system)

Location

pkgdcl.lisp

Packages

inferior-shell


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.3 inferior-shell/process-spec.lisp

Dependency

pkgdcl.lisp (file)

Parent

inferior-shell (system)

Location

process-spec.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.4 inferior-shell/utilities.lisp

Dependency

pkgdcl.lisp (file)

Parent

inferior-shell (system)

Location

utilities.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.5 inferior-shell/macros.lisp

Dependency

pkgdcl.lisp (file)

Parent

inferior-shell (system)

Location

macros.lisp

Internal Definitions

with-directory (macro)


Next: , Previous: , Up: Lisp files   [Contents][Index]

3.1.6 inferior-shell/host.lisp

Dependency

pkgdcl.lisp (file)

Parent

inferior-shell (system)

Location

host.lisp

Internal Definitions

Previous: , Up: Lisp files   [Contents][Index]

3.1.7 inferior-shell/run.lisp

Dependencies
Parent

inferior-shell (system)

Location

run.lisp

Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

4 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

4.1 inferior-shell

Source

pkgdcl.lisp (file)

Use List
Exported Definitions
Internal Definitions

Next: , Previous: , Up: Top   [Contents][Index]

5 Definitions

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


Next: , Previous: , Up: Definitions   [Contents][Index]

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Macros

Macro: pipe VALUES &rest TRANSFORMERS
Package

inferior-shell

Source

utilities.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Functions

Function: parse-process-spec SPEC
Package

inferior-shell

Source

process-spec.lisp (file)

Function: run CMD &rest KEYS &key ON-ERROR TIME SHOW HOST OUTPUT ERROR-OUTPUT &allow-other-keys

run command CMD. Unless otherwise specified, copy the subprocess’s output to *standard-output* and its error-output to *error-output*. Return values for the output, error-output and exit-code.

The command specified by COMMAND can be a list as parsed by PARSE-PROCESS-SPEC, or a string to execute with a shell (/bin/sh on Unix, CMD.EXE on Windows).

Signal a continuable SUBPROCESS-ERROR if the process wasn’t successful (exit-code 0),
unless ON-ERROR is specified, which if NIL means ignore the error (and return the three values).

If OUTPUT is a pathname, a string designating a pathname, or NIL designating the null device, the file at that path is used as output.
If it’s :INTERACTIVE, output is inherited from the current process;
beware that this may be different from your *STANDARD-OUTPUT*,
and under SLIME will be on your *inferior-lisp* buffer.
If it’s T, output goes to your current *STANDARD-OUTPUT* stream.
Otherwise, OUTPUT should be a value that is a suitable first argument to
SLURP-INPUT-STREAM (qv.), or a list of such a value and keyword arguments.
In this case, RUN-PROGRAM will create a temporary stream for the program output;
the program output, in that stream, will be processed by a call to SLURP-INPUT-STREAM,
using OUTPUT as the first argument (or the first element of OUTPUT, and the rest as keywords). The primary value resulting from that call (or NIL if no call was needed)
will be the first value returned by RUN-PROGRAM.
E.g., using :OUTPUT :STRING will have it return the entire output stream as a string.
And using :OUTPUT ’(:STRING :STRIPPED T) will have it return the same string
stripped of any ending newline.

ERROR-OUTPUT is similar to OUTPUT, except that the resulting value is returned
as the second value of RUN-PROGRAM. T designates the *ERROR-OUTPUT*.
Also :OUTPUT means redirecting the error output to the output stream,
in which case NIL is returned.

INPUT is similar to OUTPUT, except that VOMIT-OUTPUT-STREAM is used,
no value is returned, and T designates the *STANDARD-INPUT*.

Use ELEMENT-TYPE and EXTERNAL-FORMAT are passed on
to your Lisp implementation, when applicable, for creation of the output stream.

One and only one of the stream slurping or vomiting may or may not happen
in parallel with the subprocess, depending on options and implementation,
and with priority being given to output processing.
Other streams are completely produced or consumed
before or after the subprocess is spawned, using temporary files.

RUN returns 3 values:
0- the result of the OUTPUT slurping if any, or NIL
1- the result of the ERROR-OUTPUT slurping if any, or NIL
2- either 0 if the subprocess exited with success status,
or an indication of failure via the EXIT-CODE of the process

Package

inferior-shell

Source

run.lisp (file)

Function: run/i CMD &rest KEYS

alias for run/interactive

Package

inferior-shell

Source

run.lisp (file)

Function: run/interactive CMD &rest KEYS &key ON-ERROR TIME SHOW HOST

run command CMD interactively, connecting the subprocess’s input, output and error-output to the same file descriptors as the current process
See the documentation for INFERIOR-SHELL:RUN for other keyword arguments.

Package

inferior-shell

Source

run.lisp (file)

Function: run/lines CMD &rest KEYS &key ON-ERROR TIME SHOW HOST

run command CMD, return its standard output results as a list of strings, one per line, discarding line terminators. Unless otherwise specified, discard error-output.
See the documentation for INFERIOR-SHELL:RUN for other keyword arguments.

Package

inferior-shell

Source

run.lisp (file)

Function: run/nil CMD &rest KEYS &key TIME SHOW HOST ON-ERROR &allow-other-keys

run command CMD. Unless otherwise specified, discard the subprocess’s output and error-output. See the documentation for INFERIOR-SHELL:RUN for other keyword arguments.

Package

inferior-shell

Source

run.lisp (file)

Function: run/s CMD &rest KEYS &key ON-ERROR TIME SHOW HOST

run command CMD, return its standard output results as a string.
Unless otherwise specified, discard its error-output.
See the documentation for INFERIOR-SHELL:RUN for other keyword arguments.

Package

inferior-shell

Source

run.lisp (file)

Function: run/ss CMD &rest KEYS &key ON-ERROR TIME SHOW HOST

run command CMD, return its standard output results as a string like run/s,
but strips the line ending off the result string very much like ‘cmd‘ or $(cmd) at the shell See the documentation for INFERIOR-SHELL:RUN for other keyword arguments.

Package

inferior-shell

Source

run.lisp (file)

Function: token-string X
Package

inferior-shell

Source

process-spec.lisp (file)

Function: zglob PATTERNS &key HOST
Package

inferior-shell

Source

utilities.lisp (file)

Function: zglobcmd &rest PATTERNS
Package

inferior-shell

Source

utilities.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Generic functions

Generic Function: command-arguments OBJECT
Package

inferior-shell

Methods
Method: command-arguments (COMMAND-SPEC command-spec)

automatically generated reader method

Source

process-spec.lisp (file)

Generic Function: command-redirections OBJECT
Package

inferior-shell

Methods
Method: command-redirections (COMMAND-SPEC command-spec)

automatically generated reader method

Source

process-spec.lisp (file)

Generic Function: print-process-spec R &optional S

Print a process specification in a way suitable for consumption by a shell

Package

inferior-shell

Source

process-spec.lisp (file)

Methods
Method: print-process-spec (SPEC cons) &optional S
Method: print-process-spec (SPEC string) &optional S
Method: print-process-spec (SPEC fork-spec) &optional S
Method: print-process-spec (SPEC progn-spec) &optional S
Method: print-process-spec (SPEC and-spec) &optional S
Method: print-process-spec (SPEC or-spec) &optional S
Method: print-process-spec (SPEC pipe-spec) &optional S
Method: print-process-spec (SPEC command-spec) &optional S
Method: print-process-spec (R close-redirection) &optional S
Method: print-process-spec (R fd-redirection) &optional S
Method: print-process-spec (R file-redirection) &optional S

Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.4 Classes

Class: and-spec ()
Package

inferior-shell

Source

process-spec.lisp (file)

Direct superclasses

sequence-spec (class)

Direct methods

print-process-spec (method)

Class: close-redirection ()
Package

inferior-shell

Source

process-spec.lisp (file)

Direct superclasses

redirection (class)

Direct methods
Direct slots
Slot: old-fd
Type

integer

Initargs

:old-fd

Readers

redirection-old-fd (generic function)

Class: command-spec ()
Package

inferior-shell

Source

process-spec.lisp (file)

Direct superclasses

process-spec (class)

Direct methods
Direct slots
Slot: arguments
Type

list

Initargs

:arguments

Readers

command-arguments (generic function)

Slot: redirections
Type

list

Initargs

:redirections

Readers

command-redirections (generic function)

Class: fd-redirection ()
Package

inferior-shell

Source

process-spec.lisp (file)

Direct superclasses

redirection (class)

Direct methods
Direct slots
Slot: old-fd
Type

integer

Initargs

:old-fd

Readers

redirection-old-fd (generic function)

Slot: new-fd
Type

integer

Initargs

:new-fd

Readers

redirection-new-fd (generic function)

Class: file-redirection ()
Package

inferior-shell

Source

process-spec.lisp (file)

Direct superclasses

redirection (class)

Direct methods
Direct slots
Slot: fd
Type

integer

Initargs

:fd

Readers

redirection-fd (generic function)

Slot: symbol
Type

symbol

Initargs

:symbol

Readers

redirection-symbol (generic function)

Slot: flags
Type

list

Initargs

:flags

Readers

redirection-flags (generic function)

Slot: pathname
Type

(or string pathname)

Initargs

:pathname

Readers

redirection-pathname (generic function)

Class: fork-spec ()
Package

inferior-shell

Source

process-spec.lisp (file)

Direct superclasses

sequence-spec (class)

Direct methods

print-process-spec (method)

Class: or-spec ()
Package

inferior-shell

Source

process-spec.lisp (file)

Direct superclasses

sequence-spec (class)

Direct methods

print-process-spec (method)

Class: pipe-spec ()
Package

inferior-shell

Source

process-spec.lisp (file)

Direct superclasses

sequence-spec (class)

Direct methods

print-process-spec (method)

Class: process-spec ()
Package

inferior-shell

Source

process-spec.lisp (file)

Direct superclasses

simple-print-object-mixin (class)

Direct subclasses
Class: progn-spec ()
Package

inferior-shell

Source

process-spec.lisp (file)

Direct superclasses

sequence-spec (class)

Direct methods

print-process-spec (method)

Class: redirection ()
Package

inferior-shell

Source

process-spec.lisp (file)

Direct superclasses

simple-print-object-mixin (class)

Direct subclasses

Previous: , Up: Exported definitions   [Contents][Index]

5.1.5 Types

Type: simple-command-line-token ()
Package

inferior-shell

Source

process-spec.lisp (file)


Previous: , Up: Definitions   [Contents][Index]

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Special variables

Special Variable: *current-host-names*
Package

inferior-shell

Source

host.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Macros

Macro: with-directory (DIR) &body BODY
Package

inferior-shell

Source

macros.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Functions

Function: add-days YEAR MONTH DATE DAYS
Package

inferior-shell

Source

utilities.lisp (file)

Function: check-small-fd FD
Package

inferior-shell

Source

process-spec.lisp (file)

Function: current-host-name-p X
Package

inferior-shell

Source

host.lisp (file)

Function: direct-command-spec-p SPEC
Package

inferior-shell

Source

run.lisp (file)

Function: do-stream-lines FUN STREAM
Package

inferior-shell

Source

utilities.lisp (file)

Function: do-string-lines FUN STRING
Package

inferior-shell

Source

utilities.lisp (file)

Function: initialize-current-host-names ()
Package

inferior-shell

Source

host.lisp (file)

Function: make-close-redirection OLD-FD
Package

inferior-shell

Source

process-spec.lisp (file)

Function: make-directory DIR &optional MODE
Package

inferior-shell

Source

utilities.lisp (file)

Function: make-fd-redirection OLD-FD NEW-FD
Package

inferior-shell

Source

process-spec.lisp (file)

Function: make-file-redirection SYMBOL FD PN FLAGS
Package

inferior-shell

Source

process-spec.lisp (file)

Function: next-day YEAR MONTH DATE
Package

inferior-shell

Source

utilities.lisp (file)

Function: on-host-spec HOST SPEC
Package

inferior-shell

Source

run.lisp (file)

Function: parse-command-spec-token C X
Package

inferior-shell

Source

process-spec.lisp (file)

Function: parse-command-spec-tokens SPEC
Package

inferior-shell

Source

process-spec.lisp (file)

Function: parse-command-spec-top-token C X
Package

inferior-shell

Source

process-spec.lisp (file)

Function: previous-day YEAR MONTH DATE
Package

inferior-shell

Source

utilities.lisp (file)

Function: print-process-sequence-joined SPEC SEPARATOR EMPTY S &optional TAIL
Package

inferior-shell

Source

process-spec.lisp (file)

Function: read-line* &optional STREAM EOF-ERROR-P EOF-VALUE RECURSIVE-P CR LF

Similar to READ-LINE, this function also returns as additional values the state about whether CR or LF were read. CR, LF and CR+LF are accepted only.
Partial state accepted as input, too, for parsing in chunks.

Package

inferior-shell

Source

utilities.lisp (file)

Function: run-process-spec SPEC &rest KEYS &key HOST &allow-other-keys
Package

inferior-shell

Source

run.lisp (file)

Function: run-spec SPEC &rest KEYS &key &allow-other-keys
Package

inferior-shell

Source

run.lisp (file)

Function: select-from-hash KEYS HASH
Package

inferior-shell

Source

utilities.lisp (file)

Function: setenv VAR VAL &optional OVERWRITEP
Package

inferior-shell

Source

utilities.lisp (file)

Function: split-lines X
Package

inferior-shell

Source

utilities.lisp (file)

Function: split-lines* X
Package

inferior-shell

Source

utilities.lisp (file)

Function: write-token-component S X
Package

inferior-shell

Source

process-spec.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.4 Generic functions

Generic Function: add-argument COMMAND-PARSE STRING
Package

inferior-shell

Source

process-spec.lisp (file)

Methods
Method: add-argument (C command-parse) (ARGUMENT string)
Generic Function: add-redirection COMMAND-PARSE REDIRECTION
Package

inferior-shell

Source

process-spec.lisp (file)

Methods
Method: add-redirection (C command-parse) REDIRECTION
Generic Function: clps-arguments-r OBJECT
Generic Function: (setf clps-arguments-r) NEW-VALUE OBJECT
Package

inferior-shell

Methods
Method: clps-arguments-r (COMMAND-PARSE command-parse)

automatically generated reader method

Source

process-spec.lisp (file)

Method: (setf clps-arguments-r) NEW-VALUE (COMMAND-PARSE command-parse)

automatically generated writer method

Source

process-spec.lisp (file)

Generic Function: clps-current-argument OBJECT
Generic Function: (setf clps-current-argument) NEW-VALUE OBJECT
Package

inferior-shell

Methods
Method: clps-current-argument (COMMAND-PARSE command-parse)

automatically generated reader method

Source

process-spec.lisp (file)

Method: (setf clps-current-argument) NEW-VALUE (COMMAND-PARSE command-parse)

automatically generated writer method

Source

process-spec.lisp (file)

Generic Function: clps-redirections-r OBJECT
Generic Function: (setf clps-redirections-r) NEW-VALUE OBJECT
Package

inferior-shell

Methods
Method: clps-redirections-r (COMMAND-PARSE command-parse)

automatically generated reader method

Source

process-spec.lisp (file)

Method: (setf clps-redirections-r) NEW-VALUE (COMMAND-PARSE command-parse)

automatically generated writer method

Source

process-spec.lisp (file)

Generic Function: command-parse-results COMMAND-PARSE
Package

inferior-shell

Source

process-spec.lisp (file)

Methods
Method: command-parse-results (C command-parse)
Generic Function: ensure-argument COMMAND-PARSE
Package

inferior-shell

Source

process-spec.lisp (file)

Methods
Method: ensure-argument (C command-parse)
Generic Function: extend-argument COMMAND-PARSE STRING
Package

inferior-shell

Source

process-spec.lisp (file)

Methods
Method: extend-argument (C command-parse) X
Generic Function: flush-argument COMMAND-PARSE
Package

inferior-shell

Source

process-spec.lisp (file)

Methods
Method: flush-argument (C command-parse)
Generic Function: new-argument COMMAND-PARSE
Package

inferior-shell

Source

process-spec.lisp (file)

Methods
Method: new-argument (C command-parse)
Generic Function: redirection-fd OBJECT
Package

inferior-shell

Methods
Method: redirection-fd (FILE-REDIRECTION file-redirection)

automatically generated reader method

Source

process-spec.lisp (file)

Generic Function: redirection-flags OBJECT
Package

inferior-shell

Methods
Method: redirection-flags (FILE-REDIRECTION file-redirection)

automatically generated reader method

Source

process-spec.lisp (file)

Generic Function: redirection-new-fd OBJECT
Package

inferior-shell

Methods
Method: redirection-new-fd (FD-REDIRECTION fd-redirection)

automatically generated reader method

Source

process-spec.lisp (file)

Generic Function: redirection-old-fd OBJECT
Package

inferior-shell

Methods
Method: redirection-old-fd (CLOSE-REDIRECTION close-redirection)

automatically generated reader method

Source

process-spec.lisp (file)

Method: redirection-old-fd (FD-REDIRECTION fd-redirection)

automatically generated reader method

Source

process-spec.lisp (file)

Generic Function: redirection-pathname OBJECT
Package

inferior-shell

Methods
Method: redirection-pathname (FILE-REDIRECTION file-redirection)

automatically generated reader method

Source

process-spec.lisp (file)

Generic Function: redirection-symbol OBJECT
Package

inferior-shell

Methods
Method: redirection-symbol (FILE-REDIRECTION file-redirection)

automatically generated reader method

Source

process-spec.lisp (file)

Generic Function: sequence-processes OBJECT
Package

inferior-shell

Methods
Method: sequence-processes (SEQUENCE-SPEC sequence-spec)

automatically generated reader method

Source

process-spec.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.5 Classes

Class: command-parse ()
Package

inferior-shell

Source

process-spec.lisp (file)

Direct superclasses

standard-object (class)

Direct methods
Direct slots
Slot: arguments-r
Type

list

Readers

clps-arguments-r (generic function)

Writers

(setf clps-arguments-r) (generic function)

Slot: redirections-r
Type

list

Readers

clps-redirections-r (generic function)

Writers

(setf clps-redirections-r) (generic function)

Slot: current-argument
Type

(or null stream)

Readers

clps-current-argument (generic function)

Writers

(setf clps-current-argument) (generic function)

Class: sequence-spec ()
Package

inferior-shell

Source

process-spec.lisp (file)

Direct superclasses

process-spec (class)

Direct subclasses
Direct methods

sequence-processes (method)

Direct slots
Slot: processes
Type

list

Initargs

:processes

Readers

sequence-processes (generic function)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.6 Types

Type: direct-command-spec ()
Package

inferior-shell

Source

run.lisp (file)


Previous: , Up: Top   [Contents][Index]

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts

Jump to:   F   I   L  
Index Entry  Section

F
File, Lisp, inferior-shell.asd: The inferior-shell<dot>asd file
File, Lisp, inferior-shell/host.lisp: The inferior-shell/host<dot>lisp file
File, Lisp, inferior-shell/macros.lisp: The inferior-shell/macros<dot>lisp file
File, Lisp, inferior-shell/pkgdcl.lisp: The inferior-shell/pkgdcl<dot>lisp file
File, Lisp, inferior-shell/process-spec.lisp: The inferior-shell/process-spec<dot>lisp file
File, Lisp, inferior-shell/run.lisp: The inferior-shell/run<dot>lisp file
File, Lisp, inferior-shell/utilities.lisp: The inferior-shell/utilities<dot>lisp file

I
inferior-shell.asd: The inferior-shell<dot>asd file
inferior-shell/host.lisp: The inferior-shell/host<dot>lisp file
inferior-shell/macros.lisp: The inferior-shell/macros<dot>lisp file
inferior-shell/pkgdcl.lisp: The inferior-shell/pkgdcl<dot>lisp file
inferior-shell/process-spec.lisp: The inferior-shell/process-spec<dot>lisp file
inferior-shell/run.lisp: The inferior-shell/run<dot>lisp file
inferior-shell/utilities.lisp: The inferior-shell/utilities<dot>lisp file

L
Lisp File, inferior-shell.asd: The inferior-shell<dot>asd file
Lisp File, inferior-shell/host.lisp: The inferior-shell/host<dot>lisp file
Lisp File, inferior-shell/macros.lisp: The inferior-shell/macros<dot>lisp file
Lisp File, inferior-shell/pkgdcl.lisp: The inferior-shell/pkgdcl<dot>lisp file
Lisp File, inferior-shell/process-spec.lisp: The inferior-shell/process-spec<dot>lisp file
Lisp File, inferior-shell/run.lisp: The inferior-shell/run<dot>lisp file
Lisp File, inferior-shell/utilities.lisp: The inferior-shell/utilities<dot>lisp file

Jump to:   F   I   L  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   (  
A   C   D   E   F   G   I   M   N   O   P   R   S   T   W   Z  
Index Entry  Section

(
(setf clps-arguments-r): Internal generic functions
(setf clps-arguments-r): Internal generic functions
(setf clps-current-argument): Internal generic functions
(setf clps-current-argument): Internal generic functions
(setf clps-redirections-r): Internal generic functions
(setf clps-redirections-r): Internal generic functions

A
add-argument: Internal generic functions
add-argument: Internal generic functions
add-days: Internal functions
add-redirection: Internal generic functions
add-redirection: Internal generic functions

C
check-small-fd: Internal functions
clps-arguments-r: Internal generic functions
clps-arguments-r: Internal generic functions
clps-current-argument: Internal generic functions
clps-current-argument: Internal generic functions
clps-redirections-r: Internal generic functions
clps-redirections-r: Internal generic functions
command-arguments: Exported generic functions
command-arguments: Exported generic functions
command-parse-results: Internal generic functions
command-parse-results: Internal generic functions
command-redirections: Exported generic functions
command-redirections: Exported generic functions
current-host-name-p: Internal functions

D
direct-command-spec-p: Internal functions
do-stream-lines: Internal functions
do-string-lines: Internal functions

E
ensure-argument: Internal generic functions
ensure-argument: Internal generic functions
extend-argument: Internal generic functions
extend-argument: Internal generic functions

F
flush-argument: Internal generic functions
flush-argument: Internal generic functions
Function, add-days: Internal functions
Function, check-small-fd: Internal functions
Function, current-host-name-p: Internal functions
Function, direct-command-spec-p: Internal functions
Function, do-stream-lines: Internal functions
Function, do-string-lines: Internal functions
Function, initialize-current-host-names: Internal functions
Function, make-close-redirection: Internal functions
Function, make-directory: Internal functions
Function, make-fd-redirection: Internal functions
Function, make-file-redirection: Internal functions
Function, next-day: Internal functions
Function, on-host-spec: Internal functions
Function, parse-command-spec-token: Internal functions
Function, parse-command-spec-tokens: Internal functions
Function, parse-command-spec-top-token: Internal functions
Function, parse-process-spec: Exported functions
Function, previous-day: Internal functions
Function, print-process-sequence-joined: Internal functions
Function, read-line*: Internal functions
Function, run: Exported functions
Function, run-process-spec: Internal functions
Function, run-spec: Internal functions
Function, run/i: Exported functions
Function, run/interactive: Exported functions
Function, run/lines: Exported functions
Function, run/nil: Exported functions
Function, run/s: Exported functions
Function, run/ss: Exported functions
Function, select-from-hash: Internal functions
Function, setenv: Internal functions
Function, split-lines: Internal functions
Function, split-lines*: Internal functions
Function, token-string: Exported functions
Function, write-token-component: Internal functions
Function, zglob: Exported functions
Function, zglobcmd: Exported functions

G
Generic Function, (setf clps-arguments-r): Internal generic functions
Generic Function, (setf clps-current-argument): Internal generic functions
Generic Function, (setf clps-redirections-r): Internal generic functions
Generic Function, add-argument: Internal generic functions
Generic Function, add-redirection: Internal generic functions
Generic Function, clps-arguments-r: Internal generic functions
Generic Function, clps-current-argument: Internal generic functions
Generic Function, clps-redirections-r: Internal generic functions
Generic Function, command-arguments: Exported generic functions
Generic Function, command-parse-results: Internal generic functions
Generic Function, command-redirections: Exported generic functions
Generic Function, ensure-argument: Internal generic functions
Generic Function, extend-argument: Internal generic functions
Generic Function, flush-argument: Internal generic functions
Generic Function, new-argument: Internal generic functions
Generic Function, print-process-spec: Exported generic functions
Generic Function, redirection-fd: Internal generic functions
Generic Function, redirection-flags: Internal generic functions
Generic Function, redirection-new-fd: Internal generic functions
Generic Function, redirection-old-fd: Internal generic functions
Generic Function, redirection-pathname: Internal generic functions
Generic Function, redirection-symbol: Internal generic functions
Generic Function, sequence-processes: Internal generic functions

I
initialize-current-host-names: Internal functions

M
Macro, pipe: Exported macros
Macro, with-directory: Internal macros
make-close-redirection: Internal functions
make-directory: Internal functions
make-fd-redirection: Internal functions
make-file-redirection: Internal functions
Method, (setf clps-arguments-r): Internal generic functions
Method, (setf clps-current-argument): Internal generic functions
Method, (setf clps-redirections-r): Internal generic functions
Method, add-argument: Internal generic functions
Method, add-redirection: Internal generic functions
Method, clps-arguments-r: Internal generic functions
Method, clps-current-argument: Internal generic functions
Method, clps-redirections-r: Internal generic functions
Method, command-arguments: Exported generic functions
Method, command-parse-results: Internal generic functions
Method, command-redirections: Exported generic functions
Method, ensure-argument: Internal generic functions
Method, extend-argument: Internal generic functions
Method, flush-argument: Internal generic functions
Method, new-argument: Internal generic functions
Method, print-process-spec: Exported generic functions
Method, print-process-spec: Exported generic functions
Method, print-process-spec: Exported generic functions
Method, print-process-spec: Exported generic functions
Method, print-process-spec: Exported generic functions
Method, print-process-spec: Exported generic functions
Method, print-process-spec: Exported generic functions
Method, print-process-spec: Exported generic functions
Method, print-process-spec: Exported generic functions
Method, print-process-spec: Exported generic functions
Method, print-process-spec: Exported generic functions
Method, redirection-fd: Internal generic functions
Method, redirection-flags: Internal generic functions
Method, redirection-new-fd: Internal generic functions
Method, redirection-old-fd: Internal generic functions
Method, redirection-old-fd: Internal generic functions
Method, redirection-pathname: Internal generic functions
Method, redirection-symbol: Internal generic functions
Method, sequence-processes: Internal generic functions

N
new-argument: Internal generic functions
new-argument: Internal generic functions
next-day: Internal functions

O
on-host-spec: Internal functions

P
parse-command-spec-token: Internal functions
parse-command-spec-tokens: Internal functions
parse-command-spec-top-token: Internal functions
parse-process-spec: Exported functions
pipe: Exported macros
previous-day: Internal functions
print-process-sequence-joined: Internal functions
print-process-spec: Exported generic functions
print-process-spec: Exported generic functions
print-process-spec: Exported generic functions
print-process-spec: Exported generic functions
print-process-spec: Exported generic functions
print-process-spec: Exported generic functions
print-process-spec: Exported generic functions
print-process-spec: Exported generic functions
print-process-spec: Exported generic functions
print-process-spec: Exported generic functions
print-process-spec: Exported generic functions
print-process-spec: Exported generic functions

R
read-line*: Internal functions
redirection-fd: Internal generic functions
redirection-fd: Internal generic functions
redirection-flags: Internal generic functions
redirection-flags: Internal generic functions
redirection-new-fd: Internal generic functions
redirection-new-fd: Internal generic functions
redirection-old-fd: Internal generic functions
redirection-old-fd: Internal generic functions
redirection-old-fd: Internal generic functions
redirection-pathname: Internal generic functions
redirection-pathname: Internal generic functions
redirection-symbol: Internal generic functions
redirection-symbol: Internal generic functions
run: Exported functions
run-process-spec: Internal functions
run-spec: Internal functions
run/i: Exported functions
run/interactive: Exported functions
run/lines: Exported functions
run/nil: Exported functions
run/s: Exported functions
run/ss: Exported functions

S
select-from-hash: Internal functions
sequence-processes: Internal generic functions
sequence-processes: Internal generic functions
setenv: Internal functions
split-lines: Internal functions
split-lines*: Internal functions

T
token-string: Exported functions

W
with-directory: Internal macros
write-token-component: Internal functions

Z
zglob: Exported functions
zglobcmd: Exported functions

Jump to:   (  
A   C   D   E   F   G   I   M   N   O   P   R   S   T   W   Z  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *  
A   C   F   N   O   P   R   S  
Index Entry  Section

*
*current-host-names*: Internal special variables

A
arguments: Exported classes
arguments-r: Internal classes

C
current-argument: Internal classes

F
fd: Exported classes
flags: Exported classes

N
new-fd: Exported classes

O
old-fd: Exported classes
old-fd: Exported classes

P
pathname: Exported classes
processes: Internal classes

R
redirections: Exported classes
redirections-r: Internal classes

S
Slot, arguments: Exported classes
Slot, arguments-r: Internal classes
Slot, current-argument: Internal classes
Slot, fd: Exported classes
Slot, flags: Exported classes
Slot, new-fd: Exported classes
Slot, old-fd: Exported classes
Slot, old-fd: Exported classes
Slot, pathname: Exported classes
Slot, processes: Internal classes
Slot, redirections: Exported classes
Slot, redirections-r: Internal classes
Slot, symbol: Exported classes
Special Variable, *current-host-names*: Internal special variables
symbol: Exported classes

Jump to:   *  
A   C   F   N   O   P   R   S  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   A   C   D   F   I   O   P   R   S   T  
Index Entry  Section

A
and-spec: Exported classes

C
Class, and-spec: Exported classes
Class, close-redirection: Exported classes
Class, command-parse: Internal classes
Class, command-spec: Exported classes
Class, fd-redirection: Exported classes
Class, file-redirection: Exported classes
Class, fork-spec: Exported classes
Class, or-spec: Exported classes
Class, pipe-spec: Exported classes
Class, process-spec: Exported classes
Class, progn-spec: Exported classes
Class, redirection: Exported classes
Class, sequence-spec: Internal classes
close-redirection: Exported classes
command-parse: Internal classes
command-spec: Exported classes

D
direct-command-spec: Internal types

F
fd-redirection: Exported classes
file-redirection: Exported classes
fork-spec: Exported classes

I
inferior-shell: The inferior-shell system
inferior-shell: The inferior-shell package

O
or-spec: Exported classes

P
Package, inferior-shell: The inferior-shell package
pipe-spec: Exported classes
process-spec: Exported classes
progn-spec: Exported classes

R
redirection: Exported classes

S
sequence-spec: Internal classes
simple-command-line-token: Exported types
System, inferior-shell: The inferior-shell system

T
Type, direct-command-spec: Internal types
Type, simple-command-line-token: Exported types

Jump to:   A   C   D   F   I   O   P   R   S   T