X-Git-Url: https://git.distorted.org.uk/~mdw/runlisp/blobdiff_plain/05a9f820c6355e27bca8a87cd6a235bedcb872de..35ed3e788ee00096db70b939dcfa1cf2d7c7ff93:/runlisp.c diff --git a/runlisp.c b/runlisp.c index 4e13663..87c478f 100644 --- a/runlisp.c +++ b/runlisp.c @@ -199,7 +199,8 @@ static void usage(FILE *fp) fprintf(fp, "\ usage:\n\ %s [OPTIONS] [--] SCRIPT [ARGUMENTS ...]\n\ - %s [OPTIONS] [-e EXPR] [-d EXPR] [-l FILE] [--] [ARGUMENTS ...]\n\ + %s [OPTIONS] [-e EXPR] [-d EXPR] [-p EXPR] [-l FILE]\n\ + [--] [ARGUMENTS ...]\n\ OPTIONS:\n\ [-CDEnqv] [+DEn] [-L SYS,SYS,...] [-c CONF] [-o [SECT:]VAR=VAL]\n", progname, progname); @@ -230,7 +231,8 @@ Lisp implementation selection:\n\ Evaluation mode:\n\ -d, --dump-expression=EXPR Print (`prin1') EXPR (repeatable).\n\ -e, --evaluate-expression=EXPR Evaluate EXPR for effect (repeatable).\n\ - -l, --load-file=FILE Load FILE (repeatable).\n", + -l, --load-file=FILE Load FILE (repeatable).\n\ + -p, --print-expression=EXPR Print (`princ') EXPR (repeatable).\n", fp); } @@ -281,7 +283,7 @@ static void parse_options(int argc, char *argv[]) optarg = 0; optind = 0; optprog = (/*unconst*/ char *)progname; for (;;) { - i = mdwopt(argc, argv, "+hVD+E+L:c:d:e:l:n+o:qv", opts, 0, 0, + i = mdwopt(argc, argv, "+hVD+E+L:c:d:e:l:n+o:p:qv", opts, 0, 0, OPTF_NEGATION | OPTF_NOPROGNAME); if (i < 0) break; switch (i) { @@ -299,6 +301,7 @@ static void parse_options(int argc, char *argv[]) case 'l': CMDL; push_eval_op('<', optarg); break; FLAGOPT('n', AF_DRYRUN, { CMDL; }); case 'o': CMDL; if (set_config_var(optarg)) flags |= AF_BOGUS; break; + case 'p': CMDL; push_eval_op('=', optarg); break; case 'q': CMDL; if (verbose) verbose--; break; case 'v': CMDL; verbose++; break; default: flags |= AF_BOGUS; break;