Remains as defined in Common Lisp, but see *handle-existing-defpackage* for an extension.
The macro
defpackage
is as defined in the ANSI standard, with the inclusion of the
:add-use-defaults
keyword. However, the standard explicitly declines to define what
defpackage
does if
defined-package-name
already exists and is in a state that differs from that described by the
defpackage
form.
Therefore an extension has been written that allows you to select between alternative behaviors. See
*handle-existing-defpackage*
for full details.
One non-standard
option
is supported.
:add-use-defaults
, with a true argument, causes the package
defined-package-name
to inherit from the following packages (as well as any explictly specified by the
:use
option):
(defpackage "MY-PACKAGE" (:use "CAPI")
(:add-use-defaults t))
(package-use-list "MY-PACKAGE")
=>
(#<PACKAGE COMMON-LISP> #<PACKAGE LISPWORKS> #<PACKAGE HARLEQUIN-COMMON-LISP> #<PACKAGE CAPI>)