| Allegro CL version 9.0 Moderate update since 9.0 release. |
in releases prior to version 9.0, this variable was
named *cl-default-special-bindings*
. Use of that
variable signals a warning (and then does the right things). Code
using the old name should be updated to use the new name.
This variable holds an alist associating special variable symbols with
forms to evaluate for binding values. When a process first starts
execution, the *required-thread-bindings* are established and then
the initial-bindings slot is examined for
additional bindings to establish for the
process. *required-top-level-bindings*
contains a
reasonable default list which establishes a default environment with
standard Common Lisp values. The contents of this list may be
examined, but if you want to modify it for a particular call
to make-process,
it is strongly suggested you either modify a copy made with
copy-alist, or
just cons replacement
entries onto the front of the list.
In earlier versions of this document, it said that this variable could not be bound as it was defined with defvar-nonbindable. In version 9.0, that was incorrect, as in that version the variable is defined with defvar. Starting in version 10.0, it is defined with defvar-nonbindable.
A variable should appear as the key (i.e. car) of an entry only once in this list. If a variable is the key of two or more elements, only the first is used and all subsequent elements are ignored.
Samples of the contents of
*required-top-level-bindings*
are shown next. Note
that the contents of this list may be changed by patches.
((*print-pprint-dispatch* . #<excl::pprint-dispatch-struct @ #x2014a9c2>) (excl::*break-on-warnings* . excl::*break-on-warnings*) (*break-on-signals* . *break-on-signals*) (*random-state* make-random-state nil) (*package* find-package :user) (*print-simple-array-specialized*) (*print-lines*) (*print-miser-width* . 40) (*print-right-margin*) (*print-readably*) (*print-gensym* . t) (*print-array* . t) (*print-case* quote :upcase) (*print-circle*) (*print-length*) (*print-level*) (*print-radix*) (*print-base* . 10) (*print-pretty* system:global-symbol-value '*print-pretty*) (*print-escape* . t) (*enclose-printer-errors* . *enclose-printer-errors*) (*print-nickname* . *print-nickname*) (*read-base* . 10) (*read-default-float-format* quote single-float) (*readtable* copy-readtable nil))
The binding established in this variable are those (typically) needed for an interactive thread. A list of binding (such as this list) should be specified as the initial-bindings ketword argument to tpl:start-interactive-top-level.
See Processes and their dynamic environments
(both models) in multiprocessing.htm
and Setting global
variables in initialization files
in startup.htm for a discussion of this
variable. See also
required-top-level-binding, tpl:start-interactive-top-level,
*default-lisp-listener-bindings*
, and
required-thread-binding.
Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page is new in the 9.0 release.
Created 2019.8.20.
| Allegro CL version 9.0 Moderate update since 9.0 release. |