Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
I
inferior-shell
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
qitab
inferior-shell
Commits
6b3880da
Commit
6b3880da
authored
12 years ago
by
Francois-Rene Rideau
Browse files
Options
Downloads
Patches
Plain Diff
Rearrange documentation of limitations.
ERROR-BEHAVIOUR was renamed to ERROR-BEHAVIOR.
parent
86ae926d
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
README
+17
-13
17 additions, 13 deletions
README
run.lisp
+1
-1
1 addition, 1 deletion
run.lisp
with
18 additions
and
14 deletions
README
+
17
−
13
View file @
6b3880da
...
...
@@ -39,22 +39,25 @@ By default, inferior-shell uses xcvb-driver:run-program/
as its universal execution backend, and has its limitations,
which are as follows.
Platforms supported inferior-shell at this time include:
ABCL, Allegro, CLISP, ClozureCL, CMUCL, ECL, LispWorks, RMCL, SBCL, SCL, XCL.
Platforms NOT supported (yet) include:
CormanLisp (untested), GCL (untested), Genera (unimplemented), MKCL (untested).
On supported platforms, inferior-shell works on both Unix and Windows.
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.
One
current limit
ation is lack of
support for
arbitrary
input redirection.
Second, there is
current
ly
limit
ed
support for input redirection.
The only possible input redirection is from /dev/null
or by inheriting the parent's standard input
when running in :interactive mode.
However, using shell redirection, you can also redirect input from a file,
or from a numbered file descriptor (except 0, 1, 2).
Last but not least, inferior-shell 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 implementation
s.
Finally, 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 Window
s.
==== Exported Functionality ====
...
...
@@ -92,7 +95,7 @@ RUN CMD &KEY ON-ERROR TIME SHOW HOST OUTPUT
a PROCESS-SPEC object already parsed,
or a string to be passed to a Unix shell.
ON-ERROR specifies behavior in case the command doesn't successfully exit
with exit code 0, as per FARE-UTILS's ERROR-BEHAVIO
U
R provided with
with exit code 0, as per FARE-UTILS's ERROR-BEHAVIOR provided with
(if a function, invoke it, if a string, issue an error with it,
otherwise return it as is).
TIME is a boolean which if true causes the execution to be timed as per TIME.
...
...
@@ -106,7 +109,8 @@ RUN CMD &KEY ON-ERROR TIME SHOW HOST OUTPUT
NIL (default) for inheriting the parent process's stdout,
:LINES for returning one result per line,
:STRING for returning the output as one big string,
:STRING/STRIPPED is like :STRING but strips any line-ending at the end of the results,
:STRING/STRIPPED is like :STRING
but strips any line-ending at the end of the results,
just like a shell's `cmd` or $(cmd) would do,
more options are accepted and you can define your own, as per
xcvb-driver's slurp-input-stream protocol.
...
...
This diff is collapsed.
Click to expand it.
run.lisp
+
1
−
1
View file @
6b3880da
...
...
@@ -67,7 +67,7 @@
(
run-process-spec
cmd
:ignore-error-status
nil
:output
output
:host
host
)
(
subprocess-error
()
(
error-behavio
u
r
on-error
)))))
(
subprocess-error
()
(
error-behavior
on-error
)))))
(
when
show
(
format
*trace-output*
"; ~A~%"
(
print-process-spec
cmd
)))
(
process-time
)))
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment