Or, maybe preferably, some separate function, such as SB-EXT:NUKE-PACKAGE, which performs keyword-driven cleanup before doing the proper DELETE-PACKAGE. Something like:
(sb-ext:nuke-package "FOO" :classes t :structures t :functions t :variables t ...)
I think this warrants a separate wishlist ticket though.
I think I could imagine either some sort of dynamic variable that drives the behavior of DELETE-PACKAGE, so we can have:
(let ((sb-ext: *delete- package- nukes-package- contents* t))
(delete-package "FOO"))
Or, maybe preferably, some separate function, such as SB-EXT: NUKE-PACKAGE, which performs keyword-driven cleanup before doing the proper DELETE-PACKAGE. Something like:
(sb-ext: nuke-package "FOO" :classes t :structures t :functions t :variables t ...)
I think this warrants a separate wishlist ticket though.