X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/runlisp/blobdiff_plain/05a9f820c6355e27bca8a87cd6a235bedcb872de..7e3a86038e2a2cbb48b356cb029f9de99c14ec79:/runlisp.1.in diff --git a/runlisp.1.in b/runlisp.1.in index 35378d4..c015ea0 100644 --- a/runlisp.1.in +++ b/runlisp.1.in @@ -64,6 +64,12 @@ runlisp \- run Common Lisp programs as scripts .IR form ] .RB [ \-l .IR file ] +.RB [ \-p +.IR form ] +.if !t \{\ +.br + \c +.\} .RB [ \-\- ] .RI [ arguments \*(..] @@ -164,15 +170,13 @@ Negate with 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: @@ -181,6 +185,13 @@ listing all of the systems named, in the same order. 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 @@ -204,7 +215,9 @@ Evaluate the expression(s) .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, @@ -216,6 +229,11 @@ This option causes to execute in .I eval mode. +See also +.RB ` \-p ', +which prints with +.B *print-escape* +false. . .TP .BI "\-e" "\fR, " "\-\-evaluate-expression=" expr @@ -266,6 +284,32 @@ 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 +(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: @@ -292,11 +336,12 @@ Higher verbosity levels print informational and debugging messages. 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. @@ -308,7 +353,7 @@ instead, use 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" @@ -325,8 +370,9 @@ if desired. 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 @@ -348,6 +394,9 @@ 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 @@ -424,8 +473,9 @@ is now committed to 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