VariablePackage: exclToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 10.1
Unrevised from 10.0 to 10.1.
10.0 version


When a package is defined with defpackage or make-package while the variable *regard-package-names-as-flat* is true and no value was specified for the :flat option/argument, then the primary package name will be added to the list which is the value of this variable. This allows packages which may unexpectedly not have hierarchical nicknames to be identified. (When *regard-package-names-as-flat*, it affects all package definitions, perhaps including those which were not intended to have flat nicknames. But an explicit value for the :flat option/argument implies intention on the part of the user and so such packages are not added to this list.

Users should not modify the value of this variable.

cl-user(1): (setq excl:*regard-package-names-as-flat* t)
cl-user(2): excl:*global-flat-package-option-used*
cl-user(3): (defpackage :foo)
Warning: Defining :foo with :flat attribute because
         *regard-package-names-as-flat* is non-nil. See documentation
         on cl:defpackage in implementation.htm.
#<The foo package>
cl-user(4): excl:*global-flat-package-option-used*
cl-user(5): (defpackage :bar (:flat t))  ;; when :flat is specified, no warning
#<The bar package>
cl-user(6): excl:*global-flat-package-option-used*
("foo")  ;; and the package is not added to this list.

See Extensions to cl:make-package, cl:disassemble, cl:truename, cl:probe-file, cl:open, cl:apropos and cl:defpackage and cl:in-package, both in implementation.htm, for more information on extensions to defpackage and make-package. Flat if hierarchical packages are discusses in Hierarchical Packages in packages.htm.

Copyright (c) 1998-2022, Franz Inc. Lafayette, CA., USA. All rights reserved.
This page was not revised from the 10.0 page.
Created 2019.8.20.

Allegro CL version 10.1
Unrevised from 10.0 to 10.1.
10.0 version