% -*- Mode: TeX -*- The generic function \funref{reinitialize-instance} may be used to change the values of \term{slots} according to initialization arguments. The process of reinitialization changes the values of some \term{slots} and performs any user-defined actions. It does not modify the structure of an \term{instance} to add or delete \term{slots}, and it does not use any \kwd{initform} forms to initialize \term{slots}. The generic function \funref{reinitialize-instance} may be called directly. It takes one required argument, the \term{instance}. It also takes any number of initialization arguments to be used by \term{methods} for \funref{reinitialize-instance} or for \funref{shared-initialize}. The arguments after the required \term{instance} must form an \term{initialization argument list}. There is a system-supplied primary \term{method} for \funref{reinitialize-instance} whose \term{parameter specializer} is \theclass{standard-object}. First this \term{method} checks the validity of initialization arguments and signals an error if an initialization argument is supplied that is not declared as valid. (For more information, \seesection\DeclaringInitargValidity.) Then it calls the generic function \funref{shared-initialize} with the following arguments: the \term{instance}, \nil, and the initialization arguments it received. \beginsubsection{Customizing Reinitialization} \term{Methods} for \funref{reinitialize-instance} may be defined to specify actions to be taken when an \term{instance} is updated. If only \term{after methods} for \funref{reinitialize-instance} are defined, they will be run after the system-supplied primary \term{method} for initialization and therefore will not interfere with the default behavior of \funref{reinitialize-instance}. \term{Methods} for \funref{shared-initialize} may be defined to customize \term{class} redefinition. For more information, \seesection\SharedInitialize. \endsubsection%{Customizing Reinitialization}