VariablePackage: exclToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 8.2
Unrevised from 8.1 to 8.2.
8.1 version

*sharp-plus-de-facto-standard-compatible*

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

Further note on (list #+allegro :allegro #-allegro #+foo :foo)

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.

ToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 8.2
Unrevised from 8.1 to 8.2.
8.1 version