README.org: Give a brief description of the configuration file.
[runlisp] / runlisp.1.in
index ecdb658..d2d6dec 100644 (file)
@@ -39,6 +39,7 @@
 .IP
 \h'-\w'\fB\\$1\ \fP'u'\fB\\$1\ \fP\c
 ..
 .IP
 \h'-\w'\fB\\$1\ \fP'u'\fB\\$1\ \fP\c
 ..
+.ds .. \&.\|.\|.
 .
 .\"--------------------------------------------------------------------------
 .TH runlisp 1 "2 August 2020" "Mark Wooding"
 .
 .\"--------------------------------------------------------------------------
 .TH runlisp 1 "2 August 2020" "Mark Wooding"
@@ -53,19 +54,25 @@ runlisp \- run Common Lisp programs as scripts
 .RB [ \-\- ]
 .I script
 .RI [ arguments
 .RB [ \-\- ]
 .I script
 .RI [ arguments
-\&...]
+\*(..]
 .br
 .B runlisp
 .RI [ options ]
 .br
 .B runlisp
 .RI [ options ]
+.RB [ \-d
+.IR form ]
 .RB [ \-e
 .RB [ \-e
-.IR form  ]
+.IR form ]
 .RB [ \-l
 .IR file ]
 .RB [ \-p
 .RB [ \-l
 .IR file ]
 .RB [ \-p
-.IR form  ]
+.IR form ]
+.if !t \{\
+.br
+       \c
+.\}
 .RB [ \-\- ]
 .RI [ arguments
 .RB [ \-\- ]
 .RI [ arguments
-\&...]
+\*(..]
 .PP
 where
 .I options
 .PP
 where
 .I options
@@ -75,7 +82,7 @@ is
 .RB [ \-CDEnqv ]
 .RB [ +DEn ]
 .RB [ \-L
 .RB [ \-CDEnqv ]
 .RB [ +DEn ]
 .RB [ \-L
-.IB sys , sys , \fR...]
+.IB sys , sys , \fR\*(..]
 .if !t \{\
 .br
        \c
 .if !t \{\
 .br
        \c
@@ -163,10 +170,9 @@ Negate with
 or
 .BR \-\-no-command-line-only .
 This has no effect in eval mode.
 or
 .BR \-\-no-command-line-only .
 This has no effect in eval mode.
-which is set at compile time.
 .
 .TP
 .
 .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
 Use one of the named Lisp systems.
 Each
 .I sys
@@ -198,6 +204,32 @@ All of the files are expected to be as described in
 .BR runlisp.conf (5).
 .
 .TP
 .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
 .BI "\-e" "\fR, " "\-\-evaluate-expression=" expr
 Evaluate the expression(s)
 .I expr
@@ -231,13 +263,30 @@ or
 .BR "\-\-no-dry-run" .
 .
 .TP
 .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
 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;
 If a form produces multiple values,
 they are printed on a single line,
 separated by a single space character;
@@ -248,6 +297,11 @@ This option causes
 to execute in
 .I eval
 mode.
 to execute in
 .I eval
 mode.
+See also
+.RB ` \-d ',
+which prints with
+.B *print-escape*
+true.
 .
 .TP
 .BR "\-q" ", " "\-\-quiet"
 .
 .TP
 .BR "\-q" ", " "\-\-quiet"
@@ -274,6 +328,7 @@ Higher verbosity levels print informational and debugging messages.
 .
 .PP
 The
 .
 .PP
 The
+.RB ` \-d ',
 .RB ` \-e ',
 .RB ` \-l ',
 and
 .RB ` \-e ',
 .RB ` \-l ',
 and
@@ -292,7 +347,7 @@ instead, use
 to load code from files.
 The
 .IR arguments ,
 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"
 are still made available to the evaluated forms and loaded files.
 .
 .SS "Operation"
@@ -307,6 +362,7 @@ though the boundary may be marked explicitly using
 .RB ` \-\- '
 if desired.
 If the command line contains any of
 .RB ` \-\- '
 if desired.
 If the command line contains any of
+.RB ` \-d ',
 .RB ` \-e ',
 .RB ` \-l ',
 or
 .RB ` \-e ',
 .RB ` \-l ',
 or
@@ -332,6 +388,9 @@ mode.
 In
 .I script
 mode,
 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
 .B runlisp
 reads the second line of the script file,
 and checks to see if it contains the string
@@ -351,10 +410,10 @@ can be included in a word by
 or
 .IR escaping .
 Text between single quotes
 or
 .IR escaping .
 Text between single quotes
-.BR ' ... '
+.BR ' \*(.. '
 is included literally, without any further interpretation;
 text between double quotes
 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 treated literally,
 except that escaping can still be used
 to escape (e.g.) double quotes and the escape character itself.
@@ -406,6 +465,7 @@ and
 is now committed to
 .I script
 mode, so it's too late for
 is now committed to
 .I script
 mode, so it's too late for
+.RB ` \-d ',
 .RB ` \-e ',
 .RB ` \-l ',
 and
 .RB ` \-e ',
 .RB ` \-l ',
 and