[Openmcl-devel] Initial bindings

Gary Byers gb at clozure.com
Tue Aug 6 12:11:09 UTC 2013


There are a few ways in which CCL::DEF-STANDARD-INITIAL-BINDING isn't
quite ready for prime-time; it's not quite sure whether it's something
that should run as the bootstrapping image loads files and prepares to
save the full image or whether it's something more general purpose.  There
isn't anything that's more ready for prime-time.

A short answer is that doing

(ccl::def-standard-initial-binding *print-length* 17)

should cause subsequently-created threads to run with *PRINT-LENGTH* bound
to 17 and is thread-safe; some other cases (where the variable isn't BOUNDP
when the DEF-STANDARD-INITIAL-BINDING's expansion is executed or where the
initial value form is omitted) may not be thread-safe.

On Sun, 4 Aug 2013, Ron Garret wrote:

> In my init.lisp file I set *print-length* to a modest-sized integer, and in the IDE this is reflected in the first listener window that is created.  But in subsequent listeners, *print-length* reverts to NIL.  The result is that I will often accidentally print a rogue data structure, which often causes the IDE to become unresponsive and occasionally to crash.
>
> Searching for a solution to this led me to DEF-STANDARD-INITIAL-BINDING, which seems to be the Right Way to solve this problem except that it's neither documented nor exported.  Is it safe to use?  Is there a better way to globally set the value of *print-length*?
>
> Thanks,
> rg
>
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel
>
>



More information about the Openmcl-devel mailing list