runlisp.c, eval.lisp, etc.: Add new `-p' option to `princ' expressions.
[runlisp] / runlisp.c
index 4e13663..87c478f 100644 (file)
--- 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;