Re: missing -l command line option? (openmcl 0.31)

Gary Byers <[email protected]> Sat, 26 Oct 2002 17:29:58 -0600 (MDT)
Newsgroups gmane.lisp.openmcl.bugs
Message-ID <[email protected]>
On Sat, 26 Oct 2002, Rick Taube wrote:

> Hi, Im using the binary release of OpenMCL/Darwin 0.31 to port my
> music software (Common Music) to OpenMCL. There seems to be a
> disagreement between what invocation.html says and what dppccl
> actually supports in the way of command line arguments. I want to
> have a script that starts up OpenMCL with my image and a file to
> load.  The html doc invocation.html says:
>
>   -l path (or --load <path>). Executes (load "<path>").
>
> but dppccl --help
>
> says:
>
>   dppccl <options>
>          or /Users/Faculty/hkt/ccl/dppccl <image-name>
>          where <options> are one or more of:
>         -h, --help : this text
>         -R, --heap-reserve <n>: reserve <n> (default: 1073741824)
>                  bytes for heap expansion
>         -S, --stack-size <n>: set size of initial stacks to <n>
>         -b, --batch: exit when EOF on *STANDARD-INPUT*
>         --no-sigtrap : obscure option for running under GDB
>         -I, --image-name <image-name>
>

I don't think that this is reproducible with the binary 0.13 distribution;
I'm assuming that you've loaded your code into that environment and
saved an image.

This may be kind of confusing, and certainly needs to be straightened
out some.

The idea is that there are some options that pretty much have to be
handled by the kernel (those shown above) and others that're
"application specific" and handled by the application.

There's a not-entirely-completely-thought-out notion of applications
as objects: SAVE-APPLICATION accepts an :APPLICATION-CLASS argument
and tries to arrange that the special variable CCL:*APPLICATION* will
be an instance of the specified class when the image starts.

By default, CCL:*APPLICATION* is an instance of the
CCL:LISP-DEVELOPMENT-SYSTEM class; when that particular instance
is created (in "ccl:level-1;l1-readloop.lisp"), it's told how to
parse command-line arguments that (presumably) all instances of
that class would be interested in.

I have no idea why the "standard" LISP-DEVELOPMENT-SYSTEM
command-line arguments aren't part of the class definition; it should
be easier than it is to inherit this behavior, and giving specific
behavior to an instance seems totally wrong.

I assume that your application uses a specialized subclass of
APPLICATION; you might want to define that class the way that
LISP-DEVELOPMENT-SYSTEM should be defined (with the class-specific
command-line options defined as an :INITFORM in the class definition.)
(If your application doesn't subclass APPLICATION and you're not
seeing all of the "standard" arguments in --help, something else
is going on.)

There's an unrelated bug in that the user's init file is loaded
and --load and --eval options are processed in an environment that
doesn't have exactly the right set of named restarts set up; if
you enter a break loop in this environment, you can't get out of
it via :POP (or ^D).


>  The -l and the -e options would be very helpful. Is there some way
> In the curent release that I can load a file from my script file?

> and thanks for openmcl, its great.
>
> best,
> RIck Taube
>
> _______________________________________________
> bug-openmcl mailing list
> [email protected]
> http://clozure.com/cgi-bin/mailman/listinfo/bug-openmcl
>
>