| 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 | ||||||||||