All Manuals > LispWorks Delivery User Guide > 5 Keywords to the Delivery Function > 5.2 Alphabetical list of deliver keywords

NextPrevUpTopContentsIndex

:keep-clos

Keyword

Default value:

(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 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 keyword. These values are still accepted in LispWorks 7.1, but you should not rely on this. Change to one of the new values described above.

Note: CLOS initarg checking in the delivered application by make-instance and other initializations may be controlled by :clos-initarg-checking.


LispWorks Delivery User Guide - 10 Aug 2017

NextPrevUpTopContentsIndex