Your application may rely upon certain system packages that Delivery deletes or smashes by default.
You can protect these packages with :packages-to-keep (page :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 (page :smash-packages) and :delete-packages (page :delete-packages) keywords. If you pass :packages-to-keep
:all , then the two variables are set to
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
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.