.IR form ]
.RB [ \-l
.IR file ]
+.RB [ \-p
+.IR form ]
+.if !t \{\
+.br
+ \c
+.\}
.RB [ \-\- ]
.RI [ arguments
\*(..]
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\*(..
Use one of the named Lisp systems.
-Each
+The
.I sys
-must name a supported Lisp system;
-the names are separated by a comma
+names are separated by a comma
.RB ` , '
and/or one or more whitespace characters.
This option may be given more than once:
If a system is named more than once,
a warning is issued (at verbosity level 1 or higher),
and all but the first occurrence is ignored.
+System names which do not refer to known Lisp systems
+are silently ignored:
+otherwise, a script which supports an unusual Lisp system
+could never run at a site which doesn't have
+configuration runes for that Lisp system,
+even though they're useless
+if the system isn't actually installed.
.
.TP
.BI "\-c" "\fR, " "\-\-config-file=" conf
.I expr
and print the resulting value(s)
to standard output
-(as if by
+(with
+.B *print-escape*
+true, as if by
.BR prin1 ).
If a form produces multiple values,
they are printed on a single line,
to execute in
.I eval
mode.
+See also
+.RB ` \-p ',
+which prints with
+.B *print-escape*
+false.
.
.TP
.BI "\-e" "\fR, " "\-\-evaluate-expression=" expr
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
+(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;
+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 ` \-d ',
+which prints with
+.B *print-escape*
+true.
+.
+.TP
.BR "\-q" ", " "\-\-quiet"
Don't print warning messages.
This option may be repeated:
The
.RB ` \-d ',
.RB ` \-e ',
+.RB ` \-l ',
and
-.RB ` \-l '
+.RB ` \-p '
options may only be given on the command-line itself,
not following a
-.RB `@ RUNLISP: '
+.RB ` @RUNLISP: '
marker in a script.
These options may be given multiple times:
they will be processed in the order given.
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"
If the command line contains any of
.RB ` \-d ',
.RB ` \-e ',
-or
.RB ` \-l ',
+or
+.RB ` \-p ',
then
.B runlisp
treats all of its positional arguments as
In
.I script
mode,
+and if the
+.RB ` \-E '
+option was not given,
.B runlisp
reads the second line of the script file,
and checks to see if it contains the string
mode, so it's too late for
.RB ` \-d ',
.RB ` \-e ',
+.RB ` \-l ',
and
-.RB ` \-l '
+.RB ` \-p '
too.
.PP
(This feature allows scripts to provide options even if they use