.IP
\h'-\w'\fB\\$1\ \fP'u'\fB\\$1\ \fP\c
..
+.ds .. \&.\|.\|.
.
.\"--------------------------------------------------------------------------
.TH runlisp 1 "2 August 2020" "Mark Wooding"
.RB [ \-\- ]
.I script
.RI [ arguments
-\&...]
+\*(..]
.br
.B runlisp
.RI [ options ]
+.RB [ \-d
+.IR form ]
.RB [ \-e
-.IR form ]
+.IR form ]
.RB [ \-l
.IR file ]
.RB [ \-p
-.IR form ]
+.IR form ]
+.if !t \{\
+.br
+ \c
+.\}
.RB [ \-\- ]
.RI [ arguments
-\&...]
+\*(..]
.PP
where
.I options
is
.br
- \&
+ \c
.RB [ \-CDEnqv ]
.RB [ +DEn ]
.RB [ \-L
-.IB sys , sys , \fR...]
+.IB sys , sys , \fR\*(..]
+.if !t \{\
+.br
+ \c
+.\}
.RB [ \-c
.IR conf ]
.RB [ \-o
which is set at compile time.
.
.TP
-.BI "\-L" "\fR, " "\-\-accept-lisp=" sys , sys ,\fR...
+.BI "\-L" "\fR, " "\-\-accept-lisp=" sys , sys ,\fR\*(..
Use one of the named Lisp systems.
Each
.I sys
otherwise,
.I conf
is opened as a file.
-All of the files are expected to as described in
+All of the files are expected to be as described in
.BR runlisp.conf (5).
.
.TP
+.BI "\-d" "\fR, " "\-\-dump-expression=" expr
+Evaluate the expression(s)
+.I expr
+and print the resulting value(s)
+to standard output
+(with
+.B *print-escape*
+true, as if by
+.BR prin1 ).
+If a form produces multiple values,
+they are printed on a single line,
+separated by a single space character;
+if a form produces no values at all,
+then nothing is printed \(en not even a newline character.
+This option causes
+.B runlisp
+to execute in
+.I eval
+mode.
+See also
+.RB ` \-p ',
+which prints with
+.B *print-escape*
+false.
+.
+.TP
.BI "\-e" "\fR, " "\-\-evaluate-expression=" expr
Evaluate the expression(s)
.I expr
mode.
.
.TP
-.BR "\-n" ", " "-\-dry-run"
+.BR "\-n" ", " "\-\-dry-run"
Don't actually start the Lisp environment.
This may be helpful for the curious,
in conjunction with
.BR "\-\-no-dry-run" .
.
.TP
-.BI "\-p" "\fR, " "\-\-print-expressin=" expr
+.BI "\-o" "\fR, " "\-\-set-option=\fR[" sect :\fR] var = value
+Assign
+.I value
+to the variable
+.I var
+in configuration section
+.IR sect ,
+or
+.B @CONFIG
+if no section is specified.
+The value is unexpandable,
+and overrides any similarly named setting
+from the configuration file(s).
+.
+.TP
+.BI "\-p" "\fR, " "\-\-print-expression=" expr
Evaluate the expression(s)
.I expr
and print the resulting value(s)
to standard output
-(as if by
-.BR prin1 ).
+(with
+.B *print-escape*
+false, as if by
+.BR princ ).
If a form produces multiple values,
they are printed on a single line,
separated by a single space character;
to execute in
.I eval
mode.
+See also
+.RB ` \-d ',
+which prints with
+.B *print-escape*
+true.
.
.TP
.BR "\-q" ", " "\-\-quiet"
.
.PP
The
+.RB ` \-d ',
.RB ` \-e ',
.RB ` \-l ',
and
.RB ` \-\- '
if desired.
If the command line contains any of
+.RB ` \-d ',
.RB ` \-e ',
.RB ` \-l ',
or
or
.IR escaping .
Text between single quotes
-.BR ' ... '
+.BR ' \*(.. '
is included literally, without any further interpretation;
text between double quotes
-.BR """" ... """"
+.BR """" \*(.. """"
is treated literally,
except that escaping can still be used
to escape (e.g.) double quotes and the escape character itself.
is now committed to
.I script
mode, so it's too late for
+.RB ` \-d ',
.RB ` \-e ',
.RB ` \-l ',
and
options have been found,
then the list of acceptable implementations
consists of all of the implementations mentioned in
-.RB ` -L '
+.RB ` \-L '
options
in any of the places
.B runlisp