Make -s switch optional.
authorNeil Jerram <neil@ossau.uklinux.net>
Sat, 30 Aug 2003 21:22:45 +0000 (21:22 +0000)
committerNeil Jerram <neil@ossau.uklinux.net>
Sat, 30 Aug 2003 21:22:45 +0000 (21:22 +0000)
THANKS
libguile/ChangeLog
libguile/script.c

diff --git a/THANKS b/THANKS
index fead9fe..4934221 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -51,6 +51,7 @@ For fixes or providing information which led to a fix:
         Momchil Velikov
      Panagiotis Vossos
         Neil W. Van Dyke
+          Aaron VanDevender
         Michael Talbot-Wilson
            Andy Wingo
           Keith Wright
index 2a8cc3a..515ed99 100644 (file)
@@ -1,3 +1,9 @@
+2003-08-30  Neil Jerram  <neil@ossau.uklinux.net>
+
+       * script.c (scm_compile_shell_switches): Make -s switch optional
+       if file to be loaded does not begin with a `-'.  (Thanks to Aaron
+       VanDevender for the patch!)
+
 2003-08-30  Kevin Ryde  <user42@zip.com.au>
 
        * numbers.c (scm_lognot): Rewrite using ~ and mpz_com, for directness
index debc7a4..3e66245 100644 (file)
@@ -352,11 +352,12 @@ scm_shell_usage (int fatal, char *message)
            "Usage: %s OPTION ...\n"
            "Evaluate Scheme code, interactively or from a script.\n"
            "\n"
-           "  -s SCRIPT      load Scheme source code from FILE, and exit\n"
+           "  [-s] FILE      load Scheme source code from FILE, and exit\n"
            "  -c EXPR        evalute Scheme expression EXPR, and exit\n"
            "  --             stop scanning arguments; run interactively\n"
            "The above switches stop argument processing, and pass all\n"
            "remaining arguments as the value of (command-line).\n"
+           "If FILE begins with `-' the -s switch is mandatory.\n"
            "\n"
            "  -l FILE        load Scheme source code from FILE\n"
            "  -e FUNCTION    after reading script, apply FUNCTION to\n"
@@ -436,9 +437,9 @@ scm_compile_shell_switches (int argc, char **argv)
   
   for (i = 1; i < argc; i++)
     {
-      if (! strcmp (argv[i], "-s")) /* load script */
+      if ((! strcmp (argv[i], "-s")) || (argv[i][0] != '-')) /* load script */
        {
-         if (++i >= argc)
+         if ((argv[i][0] == '-') && (++i >= argc))
            scm_shell_usage (1, "missing argument to `-s' switch");
 
          /* If we specified the -ds option, do_script points to the