Hi, I'm trying to write a wrapper function that provides uniform access to the command-line arguments of Lisp programs across many Lisps.
In CCL (and also in Allegro, CLISP, CMUCL, SBCL, mutatis mutandis), one can do: $ cat myprog-ccl #!/bin/sh exec ccl -I myprog.ccl -K ISO-8858-1 -e "(myprog::main)" -- "$@" The options that come before the special "--" argument here are "for the Lisp", and options after it are "for my program." This is especially nice because there is no ambiguity: #1. If my program takes its own -I switch, that's okay: the LIsp isn't going to get confused and think that I'm telling it to use some other image. #2. If my program doesn't have its own -K switch, that's fine: the Lisp isn't going to send that option to the program, because it's an option for the Lisp. Does GCL have any command-line switch similar to "--"? >From the man page, it almost sounds like I want to use -f. But that seems to do something strange involving reading files, and so it doesn't seem quite right. If there is no such option, I guess I can at least write my wrapper script along the following lines: $ cat myprog-gcl #!/bin/sh exec myprog.gcl -eval "(myprog::main)" -- "$@" Then, in my program, I could at least throw out everything before the "--" in si::*command-args*. This would at least give me the good behavior #2. But since GCL would still be processing all of the arguments, it doesn't seem like it solves #1. For instance, if my program has its own options with names like -f, -dir, -eval, etc., then GCL will think are options for it, and then would presumably try to do crazy things. Thanks! Jared -- Jared C. Davis <[email protected]> 11410 Windermere Meadows Austin, TX 78759 http://www.cs.utexas.edu/users/jared/ _______________________________________________ Gcl-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/gcl-devel
