| Allegro CL version 10.0 This page is new in 10.0. |
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) t cl-user(2): excl:*global-flat-package-option-used* nil 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* ("foo") 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-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page is new in the 10.0 release.
Created 2019.8.20.
| Allegro CL version 10.0 This page is new in 10.0. |