




(if (= *delivery-level* 0)
:full-dynamic-definition
(if (= *delivery-level* 1)
:method-dynamic-definition
:no-dynamic-definition))
If this is 
:no-dynamic-definition
, then the functions for dynamic class and method definition are deleted -- 
defmethod
 , 
defclass
 and so on and the direct slots and direct methods slots all classes are set to 
nil
. 
If the value of the 
:keep-clos
 
deliver
 keyword is 
nil
, then it is treated as 
:no-dynamic-definition
.
If it is 
:meta-object-slots
, then the direct slots and direct methods of all classes are retained, and the dynamic definition functionality is deleted.
If it is 
:method-dynamic-definition
, nothing is smashed or deleted, though the direct slots and direct methods of all classes are emptied. With this setting, methods can be defined dynamically but not classes.
If it is 
:full-dynamic-definition
 or 
t
, then all dynamic class and method definition is allowed.
Compatibility Note: In LispWorks 4.3 and previous versions the values 
:no-empty
 and 
:no-empty-no-dd
 were documented for the 
:keep-clos
 
deliver
 keyword. These values are still accepted in LispWorks 4.4.x, but you should not rely on this. Change to one of the new values described above.
Note: CLOS 
make-instance
 initarg checking in the delivered application may be controlled by :make-instance-keyword-check.