.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
or
.BR \-\-no-command-line-only .
This has no effect in eval mode.
-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
.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
to load code from files.
The
.IR arguments ,
-ppif any,
+if any,
are still made available to the evaluated forms and loaded files.
.
.SS "Operation"
.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