Your application may rely upon certain system packages that Delivery deletes or smashes by default.
You can protect these packages with :packages-to-keep. All packages in the list passed with this keyword are kept in the delivered image, regardless of the state of the :smash-packages and :delete-packages keywords. If you pass :packages-to-keep
:all
, then the two variables are set to
nil
.
Note:
COMMON-LISP
is the package your application is most likely to rely on, and it is also very large. Keeping it has a very noticeable effect on the size of the application. However, if your application uses
read
or
load
, it invites the possibility of reading arbitrary code, and so
COMMON-LISP
must be kept.
See also Coping with intern and find-symbol at runtime.