| Allegro CL version 8.2 Unrevised from 8.1 to 8.2. 8.1 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:
Both :allegro and :foo are features: (:allegro) :allegro is a feature and :foo is not: (:allegro) :allegro is not a feature and :foo is: (:foo) Neither :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-2016, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.1 page.
Created 2010.1.21.
| Allegro CL version 8.2 Unrevised from 8.1 to 8.2. 8.1 version |