This keyword takes a string naming a file containing information about generic functions that should not be collapsed to ordinary functions.
You only need to specify this file if generic function collapsing is on (with :generic-function-collapse
, see page :generic-function-collapse) and want to specify some generic functions that should be treated as exceptions and not collapsed. You might want to do this if there are generic functions to which you would like to add methods at runtime.
If this is nil, no exceptions file is consulted.
Exceptions are specified with some special forms in the exceptions file. You can either specify a particular generic function to except from the process, or name a whole package in which all generic functions should be protected from collapse.
The first of these is done with an entry in the file as follows:
(:do-not-collapse < generic function name >)
where <
generic function name >
is a symbol naming a generic function to be excluded from the collapse.
Exclusion of a whole package's generic functions can be forced with the entry:
(:protect-pkg < package name >)
where <
package name >
is a string naming a package in which no generic functions should be collapsed.
(:do-not-collapse my-pkg::my-generic-function)
(:protect-pkg "MY-OTHER-PKG")
specify that the generic function named my-pkg::my-generic-function
and all generic functions in the package MY-OTHER-PKG
should not be collapsed.