Subject: [clisp-list] Re: Lisp stack overflow. What to do?

From: Bruno Haible <[email-masked]>
Date: Wed Oct 2 16:49:40 2002

Pascal Bourguignon wrote:

> How can one increase the stack size?

The -m option does it. A fixed portion (one sixteenth or so) or the
given memory amount is used for the Lisp stack.

The "ulimit -s" trick would have applied if the error message had been
"Program stack overflow".

> Even for the functions that are documented, it's quite imprecise.

The documentation assumes a certain amount of common sense.
For example, functions returning boolean are described as
"Returns true if <foobar>." We don't add a sentence "Return false if
not." because it is obvious to most users, and we don't want bore them.

> For example you can't know from the doc whether ext:run-program runs
> it asynchronously or not.

This is not specified because this is implementation dependent; it
depends on the operating system. However those things that you can
influence are documented, such as the :WAIT argument:

   WAIT
            whether to wait for program termination or not (this is
            useful when no i/o to the process is needed). 

Again, it is common sense that you cannot expect an asynchronous
operation on OSes like DOS or when you pass :WAIT T.

Bruno