.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 ]
.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
+(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.
+.
+.TP
.BI "\-e" "\fR, " "\-\-evaluate-expression=" expr
Evaluate the expression(s)
.I expr
.BR "\-\-no-dry-run" .
.
.TP
-.BI "\-p" "\fR, " "\-\-print-expressin=" expr
-Evaluate the expression(s)
-.I expr
-and print the resulting value(s)
-to standard output
-(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.
+.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
.BR "\-q" ", " "\-\-quiet"
.
.PP
The
+.RB ` \-d ',
.RB ` \-e ',
-.RB ` \-l ',
and
-.RB ` \-p '
+.RB ` \-l '
options may only be given on the command-line itself,
not following a
.RB `@ RUNLISP: '
.RB ` \-\- '
if desired.
If the command line contains any of
+.RB ` \-d ',
.RB ` \-e ',
-.RB ` \-l ',
or
-.RB ` \-p ',
+.RB ` \-l ',
then
.B runlisp
treats all of its positional arguments as
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
-.RB ` \-p '
+.RB ` \-l '
too.
.PP
(This feature allows scripts to provide options even if they use