| Allegro CL version 10.1 Minimally revised from 10.0. 10.0 version |
When true (the initial value is t
), the inner
conditionals of nested conditionals are resolved to produce the form
which the outer conditional applies to. Thus we have the following
behavior:
(list #+allegro :allegro #-allegro #+foo :foo #-foo
:default)
evaluates to (:allegro)
.
(list #+allegro :allegro #-allegro #+foo :foo)
signals an error.
When the value of this variable is nil
, the
inner conditionals of nested conditionals are not resolved before the
outer is applied, producing the following behavior on the forms from
above: evaluate as follows:
(list #+allegro :allegro #-allegro #+foo :foo #-foo
:default)
evaluates to (:allegro
:default)
.
(list #+allegro :allegro #-allegro #+foo :foo)
evaluates to (:allegro)
.
The section The issue of nested conditionals in
Allegro CL in implementation.htm
discusses the issue assocated with this variable in detail, with
examples. See also *warn-on-nested-reader-conditionals*
.
If the purpose of this form is to produce the following results:
:allegro
and :foo
are
features: (:allegro)
:allegro
is a feature and :foo
is not: (:allegro)
:allegro
is not a feature
and :foo
is: (:foo)
:allegro
nor :foo
are features:
nil
then this form
#+allegro (list :allegro) #-allegro (list #+foo :foo)
will do that whatever the value of this variable. If users have forms
similar to (list #+allegro :allegro #-allegro #+foo
:foo)
, we recommend that they modify them to ones similar to
#+allegro (list :allegro) #-allegro (list #+foo
:foo)
rather than setting this variable to nil
.
Copyright (c) 1998-2022, Franz Inc. Lafayette, CA., USA. All rights reserved.
This page has had minimal revisions compared to the 10.0 page.
Created 2019.8.20.
| Allegro CL version 10.1 Minimally revised from 10.0. 10.0 version |